将静态库添加到项目>>未定义的符号



我创建了一个静态库,我将其添加到XCode中相同工作区中的另一个项目中。对于模拟器和实际设备,该库构建得很好。

所有的错误都涉及到库中的类,所以这与另一个框架无关。

我得到两个未定义的符号错误,都指向"_OBJC_CLASS_$_Campaign"当我为实际设备构建时,我得到架构armv7s的未定义符号当我为模拟器构建时,我得到架构i386的未定义符号

我尝试创建一个fat库:同样的问题。我打开和关闭了"仅为活动架构构建":没有帮助。我删除并重建了XCode工作空间:没有解决方案。

我非常确定我在库的"编译源"中添加了正确的.m文件,并且我通过"链接二进制与库"正确地将库添加到另一个项目中。我也试过把。lib拖到Frameworks文件夹中。

我将.lib的头文件添加到项目中。

我很高兴有任何建议!

这个问题很可能是由于您的静态库从另一个库导入了一些东西。

你需要弄清楚到底缺少了哪些符号,并添加定义它们的库。在这方面,构建日志输出应该非常有帮助。

EDIT:根据评论中的讨论,问题是由于没有Campaign类的实现造成的。没有实现,编译器不会生成类,这会导致链接错误。没有编译时错误,因为类的接口是声明的。

您应该添加这样的实现,或者在单独的Campaign.m文件中,或者在一个已经存在的文件中。

最新更新