【问题标题】:How can I compile 64-bit Mac programs with Free Pascal?如何使用 Free Pascal 编译 64 位 Mac 程序?
【发布时间】:2011-01-25 02:38:04
【问题描述】:

我的 Mac 上有一个由 GCC 编译的 x86_64 库,我想将它与使用 Free Pascal 2.4 编译的 Pascal 代码链接。我给fpc 提供哪些选项以使其生成 64 位代码?如果没有任何选项,我只能获得 32 位 .o 文件。

我正在使用从 SourceForge 下载的 fpc-2.4.0.intel-macosx.dmg,但是当我运行 fpc -i 时,它列出的唯一目标 Macintosh 平台是“Darwin for i386 , 尽管 2.4 发行说明说它可以针对“64 位 Mac OS X (x86_64/ppc64)”。

【问题讨论】:

    标签: macos 64-bit freepascal


    【解决方案1】:

    fpc-pascal mailing list上的According to Jonas Maebe,有两种选择:

    • 使用-Px86_64 选项运行fpc。 (-P 选项似乎尚未记录。)
    • 直接运行ppcx64 而不是fpc。 (没有任何选项,fpc 将运行 ppc386。)

    两者都为我工作。

    【讨论】:

    • 有点晚了,但是: -P 记录在 buildfaq stack.nl/~marcov/buildfaq.pdf 注意它是一个“fpc”参数,而不是一个“ppc”参数
    • 有几件事情与该文件不符,@Marco。一,根据谷歌的说法,世界上只有两个页面链接到它;您的评论使 3. 二,它托管在您的个人网站上,而不是 freepascal.org。第三,它是 PDF 而不是 Web 友好的 HTML。四,尽管它的名字,它并不是真正的常见问题解答格式。五、任何不编译 FPC 本身的人(如我)根本没有理由阅读它。六,它提及 -P,但没有记录它。要真正记录在案,fpc -h 和用户手册的第 5.1 节(尤其是第 5.1.4 节)需要说明-P 存在以及它的作用。
    • 1.它链接在 FPC 网站的“更多信息”页面上。 2. 是的,但这主要是因为它超出了版本 3 的范围。stack.nl/~marcov/buildfaq 4. 阅读介绍,它来自一个常见问题解答文档。 5. 它是唯一一个稍微完整地记录交叉编译的文档,这被认为是一个高级主题(再次阅读 faq intro)。我是在告诉你它是这样的,而不是它应该是 6a 的样子。 fpc -h 显示实际的编译器帮助,它没有自己的帮助。 6b。不会很糟糕,但这也是你想要的,而不是 wat。
    【解决方案2】:

    使用-m64

    实际上,GNU Pascal documentation 甚至没有声明它在 Mac OS X 上受支持。另一方面,FreePascal 适用于所有 Mac OS X 变体(Intel 和 PPC,32 位和 64 位) .

    【讨论】:

    • 虽然fpc 没有说它不识别该选项(即使它没有记录),但它对输出也没有影响。它生成的 .o 文件仍然是 32 位文件。我是否以某种方式给您一种印象,即我正在寻找提供给 GCC 的选项?我不是。我已经有来自 GCC 的 64 位目标代码。我试图将它与 Free Pascal 编译的代码链接起来,但要做到这一点,我需要 Free Pascal 来生成 64 位目标文件。 GNU Pascal 甚至不参与其中,因此它是否在 Macintosh 上受支持是无关紧要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    • 2014-07-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多