编译FreePascal和Lazarus
一,准备目录
假设我们准备将整个FreePascal环境安装到D盘的fpc目录下,那么我们需要创建以下几个目录:
d:\fpc_svn\bin
d:\laz_svn
二,准备环境
1,安装SVN客户端TortoiseSVN和中文支持包,下载地址:http://tortoisesvn.net/downloads
2,使用SVN客户端CheckOut以下数据:
SVN URL:http://svn.freepascal.org/svn/fpcbuild/trunk/install/binw32
目录:d:\fpc_svn\bin\i386-win32
SVN URL:http://svn.freepascal.org/svn/fpcbuild/trunk/install/binw64
目录:d:\fpc_svn\bin\x86_64-win64
SVN URL:http://svn.freepascal.org/svn/fpc/trunk
目录:d:\fpc_svn
SVN URL:http://svn.freepascal.org/svn/lazarus/trunk
目录:d:\laz_svn
三,编译FPC
1,下载一个编译器并解压至d:\fpc_svn\bin目录,
ftp://ftp.freepascal.org/pub/fpc/dist/2.6.2/bootstrap/i386-win32-ppc386.zip
ftp://ftp.freepascal.org/pub/fpc/dist/2.6.2/bootstrap/x86_64-win64-ppcx64.zip
2,编写一个批处理,用以编译FPC:
@echo on
set myfpc=d:\fpc_svn
set mybin=d:\fpc_svn\bin
set PATH=%mybin%\i386-win32;%PATH%
cd %myfpc%
rd /s /q %myfpc%\examples
make clean all install INSTALL_PREFIX=%myfpc% PP=%mybin%\ppc386.exe DATA2INC=%myfpc%\utils\data2inc.exe
pause
//-----------------------------------------------------------------------------------------------------
@echo on
set myfpc=d:\fpc_svn
set mybin=d:\fpc_svn\bin
set PATH=%mybin%\x86_64-win64;%PATH%
cd %myfpc%
rd /s /q %myfpc%\examples
make clean all install INSTALL_PREFIX=%myfpc% PP=%mybin%\ppcx64.exe DATA2INC=%myfpc%\utils\data2inc.exe
pause
3,将上面的命令保存为一个makefpcwin32.bat文件并运行,得到FPC的编译环境。
打开cmd窗口:
cd d:\fpc_svn
makefpcwin32 //makefpcwin64
4,在命令行中运行以下命令,生成fpc.cfg文件:
cd /d d:\fpc_svn\bin\i386-win32 //cd /d d:\fpc_svn\bin\x86_64-win64
fpcmkcfg -d basepath=d:\fpc_svn -o .\fpc.cfg
四,编译Lazarus
完成第三步后已经有一个FPC的编译环境了,我们还需要编译一个IDE环境:Lazarus。
1,编写一个批处理,用以编译Lazarus
@echo on
set myfpc=d:\fpc_svn
set mybin=d:\fpc_svn\bin
set PATH=%mybin%\i386-win32;%PATH%
cd d:\laz_svn
make clean all OPT="-glw2"
pause
//--------------------------------------------------------------------------------------------------------
set myfpc=d:\fpc_svn
set mybin=d:\fpc_svn\bin
set PATH=%mybin%\x86_64-win64;%PATH%
cd d:\laz_svn
make clean all OPT="-glw2"
pause
2,将上面的命令保存为makelazwin32.bat文件并运行,得到FPC的IDE环境Lazarus。
打开cmd窗口:
cd d:\fpc_svn
makelazwin32 //makelazwin64
3,运行d:\laz_svn\lazarus.exe,即可打开IDE。
警告:The FPC source directory "D:\fpc_svn\" does not
look correct:
Found version ..1, expected 2.7.1
新建目录 d:\fpc_svn\source
复制 d:\fpc_svn\packages 到d:\fpc_svn\source
复制 d:\fpc_svn\rtl 到d:\fpc_svn\source
lazarus目录 D:\laz_svn\
编译器路径 D:\fpc_svn\bin\i386-win32\fpc.exe
FPC源代码目录 D:\fpc_svn\source
Make文件目录 $Path($(CompPath))make.exe
Gdb文件目录 $Path($(CompPath))gdb.exe
注:以上过程完成后得到32位的FPC与Lazarus环境,如果要搭建64位环境的话,将相应代码中i386-win32改为x86_64-win64即可。
win64启动时警告:win64位缺少gdb.exe,SVN未获取64位版本的gdb,暂时不用
win64编译win32时,提示:compiler "D:\fpc_svn\bin\x86_64-win64\fpc.exe
does not support target i386-win32
将编译器路径改为 D:\fpc_svn\bin\i386-win32\fpc.exe
-----------------------------------------------------------------------------------------
制造绿色版的Lazarus:
1、在安装目录里建一个新的目录,如:config ,则路径显示为: d:\laz_svn\config 。
2、将目录:C:\Documents and Settings\Administrator\Local Settings\Application Data\lazarus
下的所有东西都剪切到 d:\laz_svn\config 里。
6、在安装目录里建立一个批处理文件,如: run_lazarus.bat
D:\laz_svn\startlazarus.exe --pcp=D:\laz_svn\config
7、运行 run_lazarus.bat
转自:http://www.fpccn.com/thread-2754-1-1.html
-----------------------------------------------------------------------------------------
ubuntu:
sudo apt-get install lazarus
Fedora:
sudo yum install lazarus
安装后升级到最新的开发版,因为官方是用SVN来管理源代码,所以要安装SVN工具:
ubuntu:
sudo apt-get install subversion
Fedora:
sudo yum install subversion
下载lazarus源码:
svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus
下载fpc源码:
[pre] svn co http://svn.freepascal.org/svn/fpc/trunk fpc
然后编译,编译前还要下载一些库:
sudo apt-get install libgpmg1-dev fakeroot libncurses5-dev build-essential
cd lazarus/tools/install
./create_fpc_deb.sh fpc /home/user/fpc
编译fpc源码及生成deb包,/home/user/fpc源码的路径
完成后会生成一个fpc.tgz和fpc.deb包,如 fpc_2.5.1-101202_i386.deb fpc-2.5.1-101202.tar.gz
安装fpc:
sudo dpkg -i fpc_2.5.1-101202_i386.deb
然后cd ../..退出lazars目录下:make clean all
完成后使用./lazarus 打开
进入后到
Environment->Options
->Lazarus directory(default for all projects)
/home/user/lazarus/
->Compiler path(e.g.fpc)
/usr/bin/fpc
->FPC source directory
/home/user/fpc/
->Make path
/usr/bin/make
->Directory for building test projects
/tmp
完成后就可以用了!
以后再更新源碼就用:
svn update fpc
svn update lazarus
再重新 ./create_fpc_deb.sh fpc /home/user/fpc
sudo dpkg -i fpc_2.5.1-101202_i386.deb
make clena all
就可以了!Fedora 則要用 create_fpc_rpm.sh 了
http://www.fpccn.com/thread-886-1-1.html
编译FreePascal和Lazarus的更多相关文章
- 编译FreePascal源代码(摘录自邮件询问)
为了尝试编译FreePascal,我搜了官方文档,并给几位作者都发了邮件询问,目前结果如下: http://wiki.lazarus.freepascal.org/Getting_Lazarus#Co ...
- Raspberry Pi 3 安装 Lazarus 1.6.2(2017-02-09更新)
Raspberry Pi3 Lazarus 1.6.2 安装步骤如下: 安装环境:Raspbian Jessie, RPi3 1.安装subversion和unzip Sudo Apt-get upd ...
- FreePascal - CodeTyphon交叉编译,在一个操作系统生成各个操作系统可以运行的程序!
致谢:[XE3]MN,让我加快完成了使用CodeTyphon进行交叉编译! CodeTyphon版本: 6.0 下载:http://www.pilotlogic.com/codetyphon/zips ...
- lazarus安装
https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20amd64%20DEB/Lazarus%201.6.4/ 下载这三个文 ...
- linux lazarus 连接mssqlserver
1 . 从https://www.freetds.org/ 下载驱动源文件 2. 参照 https://www.freetds.org/userguide/config.htm 内容编译 3. 启动l ...
- Thread Pool Engine, and Work-Stealing scheduling algorithm
http://pages.videotron.com/aminer/threadpool.htm http://pages.videotron.com/aminer/zip/threadpool.zi ...
- lazarus编译X86/X64的程序
一.以下两个包都得安装,不然 64 位 lazarus 编译不出 32 位的 DLL. lazarus-1.8.4-fpc-3.0.4-win64.exe lazarus-1.8.4-fpc-3.0. ...
- 彻底解决lazarus安装组件后烦人的编译时单元找不到的问题!
以安装indy为例 1/下载组件包, http://www.indyproject.org/Sockets/fpc/indy-10.2.0.3.zip 2/爆开放于C:\lazarus\compone ...
- Lazarus开发平台编译后的可执行程序的减肥方法
1.在“工程”菜单下,单击“工程选项”,原始状态的界面为: 2.将界面中的两个选项修改为如下: 3.按“确定”按钮,即可 编译以后的可执行程序就将又原来的14m变为1.66m. 1.选择: Proje ...
随机推荐
- Linux下强制修改root密码方法(图)
如果Linux操作系统的root密码,那怎么办呢?方法很多,下面再给大家介绍一种. [1] 进入以下画面后,按下e按钮,进入编辑模式: [2]进入以下的画面后,选择如下所示的选项,再次按下e按钮: 然 ...
- Windows Server 2008R2配置MySQL Cluster并将管理节点和数据节点配置成windows服务
说明:将mysql的管理节点和数据节点配置成windows服务是为了防止有人手误关闭管理节点或数据节点的dos命令窗口,管理节点或数据节点的命令窗口误关闭可能会造成mysql某台或某几台mysql不能 ...
- 【每日scrum】NO.1
今天我们小组正式开始了冲刺,问题还是不少的,有必要记录下来来指导和改进后续的工作: 1.负责去找地图,却发现地图不能很好的适应我们的软件,略心塞>>> 2.本来计划把迪杰斯特拉算法看 ...
- C/C++常用头文件及函数汇总
转自: C/C++常用头文件及函数汇总 C/C++头文件一览 C #include <assert.h> //设定插入点#include <ctype.h> //字符处理#in ...
- c语言学习strcopy
自己写了一个字符串复制函数: #include<stdio.h> #include<assert.h> char *mystrcpy(char *des,char *ser) ...
- 从C中变化过来的各种语言的printf输出格式
在c.php和shell中经常可以碰到printf的使用,特别是在php中printf的相关变种有好几个:print.printf.sprintf.vprintf.vsprintf 在这些语言 ...
- 我教女朋友学编程html系列(5) html中table的用法和例子
女朋友不是学计算机的,但是现在从事计算机行业,做技术支持,她想学习编程,因此我打算每天教她一点点,日积月累,带她学习编程,如果其他初学者感兴趣,可以跟着学. 为了将table介绍的简单.生动,具有实战 ...
- 常用EXE文件反编译工具
PE Explorer V1.99 R5 绿色汉化特别版_强大的可视化汉化集成工具 功能极为强大的可视化汉化集成工具,可直接浏览.修改软件资源,包括菜单.对话框.字符串表等: 另外,还具备有 W32D ...
- 学习ThinkPHP-1
ThinkPHP 自建路由 关于文件关联 当在Applicatin\Home\Controller文件夹下建立一个控制器时如LoginController.class.php 在此文件夹下还有一个默认 ...
- git的初步了解
其实git我也不熟,请两天假回来宿友告诉我,我们有一份高大尚的作业.我问她们才知道原来是让我们以博客的形式写两份作业交上去.git还是我在网上查找到的,才对它有一些的了解. git是一个开源分布式版本 ...