2

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

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

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

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

4

2 回答 2

1

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

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

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

于 2012-10-26T06:02:50.677 回答
1

(请注意,问题的根源不是 FPC ,而是 Apple 不再发布其 binutils 的源代码,这与早期 (ppc) OS X 时代(当时有 cctools 版本可用)相反)

是的,这是可能的。基本上,然后(交叉)编译为汇编器,并尝试在目标上进行汇编和链接。

要查看的命令行参数是

  • -a 不删除汇编文件
  • -Aas 选择外部汇编器
  • -s 延迟链接

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

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

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

于 2012-10-26T18:19:38.667 回答