【问题标题】:How Do I get rid of XCode Architecture link errors?如何摆脱 XCode 架构链接错误?
【发布时间】:2011-07-11 22:03:31
【问题描述】:

我正在 XCode(3.2.6) 中为 Mac 构建一个 Maya 应用程序。我正在构建我自己链接到的库,另外我正在链接应用程序中包含的一些 Maya 库。 Maya 似乎是 64 位的,当我在其中一个 dylib 上从终端运行文件时,我需要链接到它说“64 位动态链接的分片库 x86_64”。没关系,我可以构建所有项目。

但是,我收到大量警告,它们都说:

...dylib, file was built for unsupported file format which is not the architecture being linked (i386)

我为每个我链接到的库获得一个,包括我构建的那些。我有一个奇怪的怀疑,这个警告是一个严重的警告,它正在影响它们的可用性。 Maya 无法加载我的顶级包,我猜这是因为这个警告。至少,摆脱它们会很好,因为来自 Windows,这听起来很糟糕。我的所有项目设置通常与“架构”设置相同。我的“架构”设置为“64 位英特尔”,而我的“有效架构”设置为“ppc64 x86_64”。我之前的后一个论点包括更多为“i386 ppc ppc64 ppc7400 ppc970 x86_64”,但这也不起作用。我尝试了很多不同的设置,但没有摆脱这些警告。

我想我的问题是:什么决定了“被链接的架构”? i386 警告来自哪里?这似乎不是一个项目设置。这听起来像是什么东西可以让我一脚踩死吗?有什么摆脱它的建议吗?

【问题讨论】:

    标签: xcode architecture compiler-construction warnings


    【解决方案1】:

    i386 是 32 位 x86。您需要确保您构建的所有库都是x86-64。请注意,检查项目设置可能还不够,因为可以在 target 级别覆盖架构,因此您还需要检查每个目标的架构。

    【讨论】:

    • 好的...所以我从我的项目中删除了所有不必要的库。其余所有(只有 4 个)都是 x86_64,我使用“文件”命令进行了检查。另外,我生成的库是 x86_64。我的架构也设置为 x86_64,但我仍然收到警告。否则,我仅有的其他组件是 zlib.dylib(标准 Mac 压缩库)和其他四个框架(Carbon、IO、GLUT 和 OpenGL)。你知道什么可以给我 i386 吗?谢谢保罗。
    • @Erik:您需要检查错误消息以查看其余的库是哪些架构错误
    • 保罗...感谢您再次提供帮助。我创建的库是 x86_64。此外,我链接到的其他库是 x86_64。对于目标和项目,我将“有效架构”设置为 ppc64 和 x86_64,将“架构”设置为 64 位英特尔。我已经清理了解决方案并重建了很多次。我检查了 zlib,似乎 Mac 基于人们可能需要的架构具有三个不同的版本。但是,我仍然收到有关库的警告,称它们“不是正在链接的架构(i386)”。
    • 我试图删除任何可能带来的东西,包括检查项目和目标的所有属性。显然有些东西仍然在把它们带进来,但我不知道是什么。会不会是框架?我难住了。这些库似乎是正确的。我认为问题更多的是“正在链接的架构”是 i386,除非我误解了错误。我只是不知道是什么决定了它。就像您之前提到的,某些东西似乎覆盖了设置。再次感谢您的帮助。
    • 不得不去两个厘米才能把它弄进去......对不起。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    相关资源
    最近更新 更多