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

How to correctly include C++ static library to iOS project

本文关键字:包含 iOS 项目 C++ 静态      更新时间:2023-10-16

我有一个项目,其中包含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)

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

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

如果这不起作用,请参考以下问题答案:架构的未定义符号 armv7

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