如何正确地将C ++静态库包含到iOS项目中

时间:2017-11-19 19:59:33

标签: c++ ios objective-c linker

我有一个包含C ++静态库(mylib.a)的项目,它的标题(mylib.h)和使用该库函数的objc类( .h / .m)。 我正在尝试将这些文件复制到另一个项目,但每次我都会收到链接错误。

Undefined symbols for architecture armv7
_ClassNameFromLibrary
referenced from:
      -[LibraryUserClass init] in LibraryUserClass.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

此库可在另一个项目中正常运行。我试图从工作项目中复制所有设置,但没有帮助。

2 个答案:

答案 0 :(得分:0)

尝试在链接二进制库中添加libxml2.dyliblibz.dylib

如果不起作用,请参阅此问题的答案:Undefined symbols for architecture armv7

答案 1 :(得分:0)

通过将文件myclass.m更改为myclass.mm

来修复此问题