【问题标题】:How to correctly include C++ static library to iOS project如何正确地将 C++ 静态库包含到 iOS 项目中
【发布时间】:2017-11-19 19:59:32
【问题描述】:

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

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

【问题讨论】:

    标签: c++ ios objective-c linker


    【解决方案1】:

    尝试在 Link Binary With Libraries 中添加 libxml2.dyliblibz.dylib

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

    【讨论】:

    • 这对我没有帮助。修复了另一种方式。看我的回答
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 2019-01-25
      • 2018-01-17
      相关资源
      最近更新 更多