【问题标题】:Global Management of Multiple Compilers in Lazarus IDELazarus IDE 中多个编译器的全局管理
【发布时间】:2013-05-23 03:45:57
【问题描述】:

我一直在搜索 Lazarus IDE 文档,到目前为止只找到了与交叉编译相关的信息,所以我希望有人能给我一个直接的答案。我目前正在开发一个需要为 32 位 Windows 和 64 位 Windows 编译的项目。此外,我已经设置了两个版本的 Free Pascal 编译器。 Lazarus 是否有任何内置功能可以在两个编译器中进行配置,然后基于构建目标,使用适当的编译器?理想情况下,这将在全局级别完成,以便配置跨项目持续存在,但如果只能在项目级别完成,我不介意这样做。

【问题讨论】:

    标签: delphi pascal lazarus


    【解决方案1】:

    在进一步阅读中,我想我找到了答案。我没有意识到,但是 fpc 具有与 gcc 相同的前端功能。话虽如此,实现我的问题中描述的功能只是将编译器安装为交叉编译器,而不是作为独立编译器。由于看起来您不能使用 x86_64 编译器来创建 32 位版本,因此您必须编译 32 位版本,然后交叉编译 64 位版本。就我而言,我首先使用以下方法编译并安装了 Win32 编译器:

    make all install INSTALL_PREFIX=C:\path\to\lazarus\1.0.8\fpc\2.6.3 OS_TARGET=win32 CPU_TARGET=i686 PP=ppc386.exe

    接下来,我编译并交叉安装 64 位编译器:

    make crossall crossinstall INSTALL_PREFIX=C:\path\to\lazarus\1.0.8\fpc\2.6.3 OS_TARGET=win64 CPU_TARGET=x86_64

    要确认它是否有效,您可以在 C:\path\to\lazarus\1.0.8\fpc\2.6.3\bin\i386-win32 文件夹中找到一个名为 ppcrossx64 的可执行文件。

    【讨论】:

    • xxx -> i386 目前是不可能的,因为 i386 编译器使用扩展(10 字节实数),而其他目标不支持。 (也许 x86_64 同时支持,最初它不支持 x87​​)。这应该由 softfloat 解决,但是这方面的工作并没有真正取得进展。
    • 啊,那是有道理的。很高兴知道它不受支持,而且我没有忽略一些文档。感谢您的信息。
    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 2012-05-13
    • 2012-02-12
    • 2017-11-02
    相关资源
    最近更新 更多