Delphi 我可以为其他平台使用免费Pascal交叉编译(无链接)吗?

Delphi 我可以为其他平台使用免费Pascal交叉编译(无链接)吗?,delphi,cross-compiling,freepascal,Delphi,Cross Compiling,Freepascal,我已经看到,使用免费Pascal配置交叉编译是可能的,但并不容易,因为系统上必须有目标操作系统的库 但是我只需要一个快速的语法检查来验证项目是否可以编译,而不需要链接一个可执行文件 那么:是否有编译器选项可供我使用免费Pascal进行跨平台测试编译 在我的情况下,在源代码管理中签入项目之前,我想在Windows工作站上验证编译器是否可以为Linux或OSX目标编译。AFAIK,使用交叉编译器编译和链接应用程序是真正检查项目的唯一方法。这就是当前主要IDE的工作方式(后台编译) 您只需在主机上安装

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

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

那么:是否有编译器选项可供我使用免费Pascal进行跨平台测试编译


在我的情况下,在源代码管理中签入项目之前,我想在Windows工作站上验证编译器是否可以为Linux或OSX目标编译。

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

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

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

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

要查看的命令行参数包括

  • -a不删除汇编程序文件
  • -Aas选择外部汇编程序
  • -s推迟链接
链接器命令行将写入ppas.bat/sh文件

将所有生成的.s汇编程序文件、link.res链接器脚本和ppas.sh传输到目标系统,并运行ppas.sh


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

是否需要外部汇编程序部分,如果我只需要“语法检查编译”,看看是否可以解析所有符号等(并且不需要汇编程序文件)?我可以使用-s开关指定目标平台,比如
-Tlinux-Px86_64
?我想是这样的。我做这件事从来不是为了语法检查。