如何摆脱XCode Architecture链接错误?

时间:2011-07-11 22:03:32

标签: xcode architecture compiler-construction warnings

我正在使用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)

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

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

1 个答案:

答案 0 :(得分:2)

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