use*_*410 8 xcode symbols compiler-errors duplicates
当我在添加自己的框架后尝试构建项目时,我在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)
Run Code Online (Sandbox Code Playgroud)
提前致谢..
这些符号位于crt.o中,即标准C库的启动代码.通常,它应该是可执行文件的入口点,以初始化全局变量和对象.它也会调用你的主要功能.
但是对于框架,您不应该将它包含在二进制文件中,因为框架不应该包含main.我相信您在框架的目标构建设置中将"链接标准库"选项设置为"是".这会将crt.o链接到您的框架中.当您将框架链接到项目时,将会有重复的符号.
请在构建设置中将"标准库链接"选项设置为"否".
小智 6
您的应用程序提供了一个实现,其中有8个重复符号.
您可以通过多种方式完成此操作:
你有两个模块声明同一个类.也许不再需要一个?
您正在导入文件.m和.h :-(从一个地方删除)中的任何头文件.)
您正在某处导入任何.m文件.: - (导入.h文件而不是.m文件)
您已在任何.h文件的外部(上方)@interface {}中定义并声明了任何const变量,它可能是重复的.: - (在.m文件中执行.)
| 归档时间: |
|
| 查看次数: |
20616 次 |
| 最近记录: |