【问题标题】:Apple Mach - o (id) error after adding a static library in xcode 4在 xcode 4 中添加静态库后,Apple Mach - o (id) 错误
【发布时间】:2011-08-03 06:52:26
【问题描述】:

我在我的 iPad 应用程序中面临上述错误。我正在使用 xcode 4 在我的应用程序中添加一个静态库(通过链接二进制文件与库)。当我构建应用程序时出现类似

的错误

ld:重复符号 _OBJC_METACLASS_$_Reachability 在 /Users/indiait-supportservices/Desktop/Universal/lib/simulator/libSecurLib.a(Reachability.o) 和 /Users/indiait-supportservices/Library/Developer/Xcode/DerivedData/ ReceiverForiOS-avuvmyuaipqegxbkwsrfbymgadjj/Build/Intermediates/ReceiverForiOS.build/Debug-iphonesimulator/myApp iPad.build/Objects-normal/i386/Reachability.o 架构 i386 collect2: ld 返回 1 个退出状态 命令 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-g++-4.2 失败,退出代码为 1

我已经添加了该静态库所需的链接器标志以及“其他链接器 fags”中的 -all_load 链接器标志,还添加了所有必要的框架。而且我的应用程序中也没有使用重复的符号。我尝试使用将编译器 LLVM GCC 4.2 更改为 GGC 4.2(以及所有)。我在堆栈溢出中搜索了所有类似的线程并尝试了那里提到的所有解决方案。仍然无法解决问题。该静态库是否未正确链接?有没有其他方法可以在 xcode 4 中添加库?

谁能帮帮我??

谢谢你...

【问题讨论】:

  • 如果您进行干净的构建,是否可以解决问题?
  • 添加库时,请记住复制库复选框未选中或已选中。如果它被选中而不是取消选中,然后在清理它之后尝试构建你的项目..
  • @ThomasW : 感谢您的回复.. 我清理然后构建,问题仍然存在
  • @HonestSuccess:添加时我未选中并添加。问题仍然存在。
  • 我还需要尝试什么?请分享一些建议..

标签: iphone ipad object xcode4


【解决方案1】:

如果这不是您的构建的问题,那么问题似乎在于您既直接使用 Reachability,又被 libSecurLib.a 使用。如果您从项目中删除可达性代码(仅 .m),您应该能够构建,但是 libSecurLib.a 中使用的可达性版本可能与您的标头使用的版本不同,因此您可能得到其他错误。

解决此问题的一种方法是重命名您的项目包含的可达性版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 2017-11-14
    相关资源
    最近更新 更多