【问题标题】:SFML with apple silicon m1SFML 与苹果硅 m1
【发布时间】:2021-02-13 19:11:09
【问题描述】:

我有m1芯片的MacBook Air,并尝试按照官网的说明安装SFML,但是我无法编译该项目,例如

enter image description here

编辑:我通过 Rosetta 2 移动了 Xcode 应用程序行为,现在它可以工作了我很想知道是否有解决方案可以本地激活它

【问题讨论】:

  • 请不要粘贴错误图片。将错误粘贴为文本将帮助其他人使用网络搜索引擎或本网站的搜索引擎找到错误。使用带有三重反引号的 markdown 格式来格式化错误输出,这样它的格式就很好,并且不会在网页上占用太多空间。

标签: sfml apple-m1


【解决方案1】:

您收到的错误是告诉您正在链接的版本适用于 x32_64 上的 MacOS,同时尝试为 arm64 进行编译。这是不兼容的,因为它们是两个不同的平台。

您是从源代码编译 SFML 吗?看起来 SFML 没有为 MacOS-arm64 预编译二进制文件,但源代码确实具有 arm 兼容性。只要一切都在那里(并且支持 arm64),从源代码编译将与操作系统无关。SFML 有一篇关于如何使用 CMake 从源代码编译的文章:https://www.sfml-dev.org/tutorials/2.5/compile-with-cmake.php

虽然我不能保证这会解决您的问题,但如果您还没有尝试的话,绝对值得一试。

使用 Rosetta 进行这项工作的原因是因为 Rosetta 模拟了 x32_64 的某些部分。在 Rosetta 中运行这些应用程序基本上与在基于 Intel 的 Mac 上编译您的项目相同。

【讨论】:

    【解决方案2】:

    如果它可以帮助某些人,我找到了解决方案,只需在您的订单前添加/usr/bin/arch -x86_64,让您的电脑相信您有英特尔芯片。

    示例:

    /usr/bin/arch -x86_64 clang main.c -lcsfml-graphics -lcsfml-system
    

    【讨论】:

      猜你喜欢
      • 2021-09-08
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 2021-06-12
      • 2021-08-17
      • 2022-02-09
      • 2021-05-11
      • 2022-08-16
      相关资源
      最近更新 更多