编译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 ...
随机推荐
- 微软职位内部推荐-SDEII for Windows Phone Apps
微软近期Open的职位: Job title: Software Design Engineer II Location: China, Beijing Division: Operations Sy ...
- net core 实战之 redis 负载均衡和"高可用"实现
net core 实战之 redis 负载均衡和"高可用"实现 1.概述 分布式系统缓存已经变得不可或缺,本文主要阐述如何实现redis主从复制集群的负载均衡,以及 redis的& ...
- 玩耍Hibernate系列(一)补充--基础知识
基本概述: Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库,Hibernate可以应用在任何 ...
- hdu 3549 Flow Problem 网络流
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549 Network flow is a well-known difficult problem f ...
- Python大数据依赖包安装
一.安装 先安装python2.7.6,win下的numpy这些包需要直接匹配版本,然后安装“numpy-1.8.1-win32-superpack-python2.7”和“scipy-0.16.0- ...
- iNode for linux install
http://wenku.baidu.com/link?url=953T6GZCnaBzwr4YqPFUT4oOyYr4wyOnXlCLO1OUYZkaJWh2fTs634SM7ZpYiTKkpmYX ...
- ubuntu文件定时加密压缩
#!/bin/sh #zip.sh DATE=`date -d yesterday +"%Y%m%d"` #password PASS="123456" if ...
- Eclipse新版 syso无法自动补全的解决方法
症状: 以前输入Syso可以直接自动转化为System.out.println(""); 现如今居然还要让我手动选择一下才可以! 我仔细看了一下Eclipse的插件,发现是新版Ec ...
- PE文件结构详解
(注:最左边是文件头的偏移量.) IMAGE_DOS_HEADER STRUCT { +0h WORD e_magic // Magic DOS signature MZ(4Dh 5Ah) DOS可执 ...
- Effeckt.css项目:CSS交互动画应用集锦
目前,网上有大量基于CSS转换的实验和示例,但它们都过于分散,而Effeckt.css的目标就是把所有基于CSS/jQuery动画的应用集中起来,例如:弹窗.按钮.导航.列表.页面切换等等. Effe ...