我可以与其他平台的Free Pascal交叉编译(不链接)吗?

时间:2012-10-26 04:55:52

标签: delphi cross-compiling freepascal

我已经看到使用Free Pascal配置交叉编译是可能的但不容易,因为系统上必须有目标操作系统的库。

但我只需要快速语法检查来验证项目是否可以编译,不需要链接可执行文件。

那么:是否有编译器选项可用于使用Free Pascal进行跨平台测试编译(仅限)?

就我而言,在源代码管理中检入项目之前,我想在Windows工作站上验证编译器是否可以针对Linux或OSX目标进行编译。

2 个答案:

答案 0 :(得分:1)

AFAIK,编译和链接应用程序与交叉编译器是真正检查项目的唯一方法。这就是主要IDE今天的工作方式(后台编译)。

您只需在主机上安装所需CPU / OS目标的交叉编译器。

http://wiki.freepascal.org/Cross_compiling#Host_and_target_on_different_CPUs

答案 1 :(得分:1)

(请注意,问题的根源不是FPC,但Apple不再发布其binutils的来源,与早期(ppc)OS X时相比,当cctools版本可用时)

是的,这是可能的。基本上一个(交叉)编译成汇编程序,并尝试在目标上进行汇编和链接。

要查看的命令行参数是

  • -a不删除汇编程序文件
  • - 选择外部汇编程序
  • -s推迟链接

链接器命令行将写入ppas.bat / sh文件。

将所有生成的.s汇编程序文件和link.res链接描述文件和ppas.sh传输到目标系统,然后运行ppas.sh

理论上应该汇编和编译,但实际上你可能需要调整link.res和ppas.sh来添加正确的搜索路径。新目标的许多早期端口都是以这种方式完成的(因为初始端口是在编译器中添加适当的目标之前完成的)