编译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 ...
随机推荐
- 【上传AppStore】iOS项目上传到AppStore步骤流程(第三章) - 基本信息总汇
一.App ID(bundle identifier) App ID即Product ID,用于标识一个或者一组App. App ID应该和Xcode中的Bundle Identifier是一致(Ex ...
- OC中数组类NSArray的详解,常用属性和方法(一)
数组是一个有序的集合,OC中的数组只能存储对象类型, 但是对于对象的类型没有限制. 通过下标访问数组元素,下标从0开始. NSA
- 程序开发心理学阅读笔记——第II篇
作为社会行为的软件开发程序开发组->程序开发团队->程序开发项目1.要判断程序员的某个集体是否构成一支团队,要看其中的成员以何种方式相互协作,以共同开发软件产品.2.健康的团队要始终能够保 ...
- npm ERR!无法安装任何包的解决办法
npm ERR! Windows_NT 6.1.7601npm ERR! argv "E:\\node\\\\node.exe" "E:\\node\\node_modu ...
- 我给女朋友讲编程html系列(4) -- html常用简单标签
今天似乎有点感冒,浑身无力,在操场上躺了半个小时,好了许多.好了,废话不说了,还是写今天的教程吧. 1,html中的换行标签是 br,写法是: <br /> 2,html中有一些特殊的字符 ...
- hibernate tool连接oracle生成pojo和xml文件无法查询表解决办法
需要在hibernate的配置文件中增加 <property name="hibernate.default_schema">[username]</proper ...
- 自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]
许多从事Web开发的会发现有些事,我们需要禁用浏览器本事自带的右键菜单,而实现自定义的右键菜单下面我们也来实现一个自定义的右键菜单 首先来创建JSP页面 <%@ page language=&q ...
- Windows窗体应用程序(非Console)使用libuv实现简单的异步WEB服务器
libuv是一个很强大的异步处理框架(严格意义上不能叫框架,其实就是一组异步函数库,当然框架这东西有各种各样的定义和理解_^...),最初的的目的是用于NODEJS的异步处理,不过因为它是一个独立的项 ...
- 三门概率问题之C#版
前言: 早上看到一片关于三门问题的博客http://www.cnblogs.com/twocats/p/3440398.html,抱着该博客结论的怀疑态度用C#语言写了一些代码.实验证明该博客的结论是 ...
- web项目自动化测试方案预研
一. 网上方案整理 Watir.Watir-Webdriver.Selenium2.QTP区别 Waitr与Watir-WebDriver有什么区别? Watir是非常优秀的一款自动化测试工具.其使 ...