我发现使用 Free Pascal 配置交叉编译是可能的,但并不容易,因为系统上必须有目标操作系统的库。
但我只需要快速语法检查来验证项目是否可以编译,不需要链接可执行文件。
那么:是否有编译器选项可供我使用 Free Pascal 进行跨平台测试编译(仅)?
就我而言,在将项目 checkin 源代码管理之前,我想在 Windows 工作站上验证编译器是否可以针对 Linux 或 OSX 目标进行编译。
最佳答案
(请注意,问题的根源不是 FPC ,而是 Apple 不再发布其 binutils 的源代码,这与早期 (ppc) OS X 时代的 cctools 可用版本相反)
是的,这是可能的。基本上,然后(交叉)编译为汇编程序,并尝试在目标上进行汇编和链接。
要查看的命令行参数是
- -a 不删除汇编程序文件
- -Aas 选择外部汇编器
- -s 推迟链接
链接器命令行将写入 ppas.bat/sh 文件。
将所有生成的.s汇编程序文件以及link.res链接描述文件和ppas.sh传输到目标系统,并运行ppas.sh
理论上,应该进行汇编和编译,但实际上您可能需要调整 link.res 和 ppas.sh 以添加正确的搜索路径。许多早期的新目标移植都是通过这种方式完成的(因为初始移植是在编译器中添加适当的目标之前完成的)
关于delphi - 我可以与 Free Pascal 交叉编译(不链接)其他平台吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13080956/