Xcode问题中的-ObjC标志

时间:2010-06-27 20:04:31

标签: iphone objective-c xcode gcc

我正在尝试构建一个调用多个静态库的简单iPhone应用程序。 但是,当我包含链接器标志“-ObjC”和“-all_load”(我需要为一个库)时,它会导致链接器错误:

ld: duplicate symbol
_OBJC_METACLASS_$_ASIFormDataRequest in /Users/XXXXX/Projects/AppName/Dependencies/Library1/lib1Kit.a(ASIFormDataRequest.o) and /Users/XXXXX/Projects/AppName/Dependencies/Library2/lib2Kit.a(ASIFormDataRequest.o)

当我删除标志时,上面的链接器错误消失了,但我得到了:

-[UIView height]: unrecognized selector sent to instance 0x13fe90

是否有人看到此错误以及它与-ObjC和/或-all_load的关系? 我很茫然,所以任何帮助都会受到赞赏。

谢谢, 布雷特

1 个答案:

答案 0 :(得分:0)

这两个错误是正交的。

重复符号错误是因为您在两个单独的静态库中定义了相同的类。将其从一个中删除,错误将消失(删除它可能会很棘手,但看不到你的来源是不可能的)。

unrecognized selector错误很可能是,因为您没有正确管理内存并且有一个过早释放的对象。在启用Zombie检测的情况下运行,它可能会告诉您哪个对象过早地被释放。更好的是,使用构建和分析构建所有代码,并修复首先确定的内存管理错误。