我已经使用 llvm-g++-4.2 通过命令行编译了一个静态库。当我尝试链接该库并在 XCode 中构建应用程序时,我得到了以下信息:
Undefined symbols for architecture armv7: (null): "__ZN12NamespaceOne5NamespaceTwo10NamespaceThree11functionEPDv2_x", referenced from: ...
(请注意,我混淆了实际的命名空间和函数名称)
当我使用 nm 查看库时,我看到:
000007cc T __ZN12NamespaceOne5NamespaceTwo10NamespaceThree11functionEPU8__vectorx
该方法已定义,但最终名称略有不同。 XCode(使用 clang++)是否不喜欢我的 llvm-g++-4.2 库?
最佳答案
我猜这个库是 C++ 代码,而您正试图从 Objective-C(或 C)文件中访问它。您需要使用“C++”文件 (xxx.cc) 或 Objective-C++ (xxx.mm) 类为其创建某种缓冲区。
关于ios - XCode 未定义引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16613169/