【问题标题】:Unable to cross compile pascal source code from mac os to aarch64 darwin and x86_64 isim using lazarus无法使用 lazarus 将 pascal 源代码从 mac os 交叉编译到 aarch64 darwin 和 x86_64 isim
【发布时间】:2020-07-16 06:11:58
【问题描述】:

我正在尝试在 Mac 上为 iOS 编译免费的 pascal 源代码,使用 fpcupdeluxe 的 lazarus 和 fpc 的主干,然后再次使用 fpcupdeluxe 安装 AArch64 darwin 交叉编译器。设法编译 x86_64 darwin 很好,但是当我在 lazarus 中将目标架构更改为 AArch64 darwin(或 x86_64 isim)并按下 OK 时,它给了我错误: 该项目使用目标 OS=darwin 和 CPU=aarch64。 在 FPC 二进制目录中找不到此目标的 system.ppu。 确保为此目标正确安装了 fpc,并且 fpc.cfg 包含正确的目录。

基础操作系统:MacOS Catalina 10.15.4 目标架构:AArch64 目标操作系统:达尔文 发布fpcupdeluxe-x86_64-darwin-cocoa.zip v1.6.8k

当我尝试为 arm darwin 进行编译时,我也遇到了同样的错误。 我该如何解决这个问题?非常感谢任何帮助

【问题讨论】:

    标签: ios macos pascal freepascal lazarus


    【解决方案1】:

    您可以遵循最困难但最安全的方法 - 从源代码编译编译器。您得到的错误意味着运行时库不存在或在 fpc 正在寻找的常规位置找不到它。

    如果你想从源代码编译它,然后下载源代码,放在单独的文件夹中,cd 到编译器并运行 make clean,make all 和 make install。检查您的 fpc 安装在哪里(哪个 fpc),找到单位文件夹(找到 system.ppu)。我的在 /usr/local/lib/fpc/3.0.4/units 中。在此文件夹中,您应该有每个架构的子文件夹,并且 system.ppu 应该在那里以便交叉编译。

    编译器文件夹中有一个 readme.txt 文档,其中包含更详细的信息,freepascal 文档站点上的用户指南也有更详细的解释。据我所知,要使用新编译的版本,我唯一要做的就是将单元文件夹从源文件夹(make 放置的位置)复制到 /usr/local/lib/fpc/3.0.4/units。

    我记得 os x 上存在一些小故障,但请不要犹豫,询问您是否在从源代码编译时遇到问题,我相信这里有很多人这样做并且可以提供帮助......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-29
      • 2023-01-16
      • 2013-03-17
      • 2020-12-19
      • 2010-12-19
      • 2023-01-30
      • 1970-01-01
      相关资源
      最近更新 更多