xcode - Xcode中的重复符号错误

标签 xcode compiler-errors duplicates symbols

当我在添加自己的框架后尝试构建项目时,在Xcode 4.5.1中遇到“重复符号”错误。我验证了框架文件是否存在重复项,没有重复项。但是,当我将框架添加到项目中时,它会提示这些错误。请提出建议。

duplicate symbol _NXArgc in:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW

duplicate symbol _NXArgv in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW

duplicate symbol ___progname in:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW

duplicate symbol _environ in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW

duplicate symbol start in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW
ld: 8 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

提前致谢..

最佳答案

这些符号在crt.o(标准C库的启动代码)中。通常,它应该是可执行文件的入口点,用于初始化全局变量和对象。它还将调用您的主要功能。

但是对于框架,您不应该在二进制文件中包含它,因为框架不应该包含main。
我相信您在框架的目标build设置中将“与标准库链接”选项设置为"is"。这会将crt.o链接到您的框架。当您将框架链接到项目中时,将出现重复的符号。

请在您的build设置中将“与标准库链接”选项设置为“否”。

关于xcode - Xcode中的重复符号错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14367793/

相关文章:

python - Pandas groupby 和聚合重复项

ios - 如何使 View Controller 以部分透明度呈现?

objective-c - iTunes/Xcode 4 图标的位置?

swift - 显示或打开或导航到 UITabBarController 表单 Viewcontroller,如快速登录页面

c++ - 当{}与new一起使用以创建std::array<T, n>时,将绕过T的默认构造函数

ruby-on-rails - 本地 postgres 数据库不断给出错误 duplicate key value violates unique constraint

iOS facebookSDK 获取用户详细信息

c++ - 如何使概念失败并显示自定义错误消息(C++ 20)

c++ - MIC.o 文件链接错误

mysql - 使用通配符查找 MySQL 数据库中的重复数据