使用fpc.exe命令行的方法可以批量编译lazarus程序,满足特定需求(我用在跨平台多CPU批量编译,非常省时及省心)。
项目名称:project.lpr
编译的程序名称:project1.exe
OS:win64
CPU:x86_64
项目名称:project.lpr
编译的程序名称:project1.exe
OS:win64
CPU:x86_64
D:\QF\fpc\bin\x86_64-win64\fpc.exe -MObjFPC -Scghi -O1 -g -gl -WG -l -vewnhibq -Filib\x86_64-win64 -FuD:\QF\projects\ -FuD:\QF\lazarus\lcl\units\x86_64-win64\win32 -FuD:\QF\lazarus\lcl\units\x86_64-win64 -FuD:\QF\lazarus\components\freetype\lib\x86_64-win64 -FuD:\QF\lazarus\components\lazutils\lib\x86_64-win64 -FuD:\QF\lazarus\packager\units\x86_64-win64 -FUlib\x86_64-win64 -FE. -o"project1.exe" -dLCL -dLCLwin32 project1.lpr
D:\QF\fpc\bin\x86_64-win64\fpc.exe -MObjFPC -Scghi -O1 -g -gl -WG -l -vewnhibq -Filib\x86_64-win64 -FuD:\QF\projects\ -FuD:\QF\lazarus\lcl\units\x86_64-win64\win32 -FuD:\QF\lazarus\lcl\units\x86_64-win64 -FuD:\QF\lazarus\components\freetype\lib\x86_64-win64 -FuD:\QF\lazarus\components\lazutils\lib\x86_64-win64 -FuD:\QF\lazarus\packager\units\x86_64-win64 -FUlib\x86_64-win64 -FE. -o"project1.exe" -dLCL -dLCLwin32 project1.lpr
交叉编译:
cpu:x86_64
OS:linux
使用gtk2
D:\QF\fpc\bin\x86_64-win64\fpc.exe -Tlinux -Px86_64 -MObjFPC -Scghi -Cg -O1 -g -gl -l -vewnhibq -Filib\x86_64-linux -FuD:\QF\projects\ -FuD:\QF\lazarus\lcl\units\x86_64-linux\gtk2 -FuD:\QF\lazarus\lcl\units\x86_64-linux -FuD:\QF\lazarus\components\freetype\lib\x86_64-linux -FuD:\QF\lazarus\components\lazutils\lib\x86_64-linux -FuD:\QF\lazarus\packager\units\x86_64-linux -FUlib\x86_64-linux -FE. -oproject1 -dLCL -dLCLgtk2 project1.lpr
D:\QF\fpc\bin\x86_64-win64\fpc.exe -Tlinux -Px86_64 -MObjFPC -Scghi -Cg -O1 -g -gl -l -vewnhibq -Filib\x86_64-linux -FuD:\QF\projects\ -FuD:\QF\lazarus\lcl\units\x86_64-linux\gtk2 -FuD:\QF\lazarus\lcl\units\x86_64-linux -FuD:\QF\lazarus\components\freetype\lib\x86_64-linux -FuD:\QF\lazarus\components\lazutils\lib\x86_64-linux -FuD:\QF\lazarus\packager\units\x86_64-linux -FUlib\x86_64-linux -FE. -oproject1 -dLCL -dLCLgtk2 project1.lpr
以上命令行可以在lazarus的项目选项获得:


批量编译aarch64-linux、x86_64-linux、x86_64-win64示例:
将以下3行保存为bat文件放到project的目录,双击这个文件就可以编译出名为project1-aarch64-linux、project1-x86_64-linux和project1-x86_64-win64.exe 3个执行文件
D:\QF\fpc\bin\x86_64-win64\fpc.exe -Tlinux -Paarch64 -MObjFPC -Scghi -Cg -O1 -g -gl -l -vewnhibq -Filib\Paarch64-linux -FuD:\QF\projects\ -FuD:\QF\lazarus\lcl\units\Paarch64-linux\gtk2 -FuD:\QF\lazarus\lcl\units\Paarch64-linux -FuD:\QF\lazarus\components\freetype\lib\Paarch64-linux -FuD:\QF\lazarus\components\lazutils\lib\Paarch64-linux -FuD:\QF\lazarus\packager\units\x86_64-linux -FUlib\Paarch64-linux -FE. -oproject1-aarch64-linux -dLCL -dLCLgtk2 project1.lpr D:\QF\fpc\bin\x86_64-win64\fpc.exe -Tlinux -Px86_64 -MObjFPC -Scghi -Cg -O1 -g -gl -l -vewnhibq -Filib\x86_64-linux -FuD:\QF\projects\ -FuD:\QF\lazarus\lcl\units\x86_64-linux\gtk2 -FuD:\QF\lazarus\lcl\units\x86_64-linux -FuD:\QF\lazarus\components\freetype\lib\x86_64-linux -FuD:\QF\lazarus\components\lazutils\lib\x86_64-linux -FuD:\QF\lazarus\packager\units\x86_64-linux -FUlib\x86_64-linux -FE. -oproject1-x86_64-linux -dLCL -dLCLgtk2 project1.lpr D:\QF\fpc\bin\x86_64-win64\fpc.exe -MObjFPC -Scghi -O1 -g -gl -WG -l -vewnhibq -Filib\x86_64-win64 -FuD:\QF\projects\ -FuD:\QF\lazarus\lcl\units\x86_64-win64\win32 -FuD:\QF\lazarus\lcl\units\x86_64-win64 -FuD:\QF\lazarus\components\freetype\lib\x86_64-win64 -FuD:\QF\lazarus\components\lazutils\lib\x86_64-win64 -FuD:\QF\lazarus\packager\units\x86_64-win64 -FUlib\x86_64-win64 -FE. -o"project1-x86_64-win64.exe" -dLCL -dLCLwin32 project1.lpr

浙公网安备 33010602011771号