0

我被一个荒谬的基本简单问题困扰了好几天,这让我发疯了!

这是故事:

  1. 我有一个第三方库,当我使用它时,它会阻止我的项目构建。
  2. 我有另一个示例项目,该库已在其中使用并且正在成功构建。
  3. "Project Build Settings"我已经检查了所有(字面意思是所有)和"Target Build Settings"Xcode 中的构建设置,一切看起来都一样。
  4. 这是两个项目的构建设置的屏幕截图:

工作项目:工作构建设置

不工作项目:不工作的构建设置

  1. 这是链接器错误的屏幕截图: 链接器错误 1 链接器错误 2 在此处输入图像描述
  2. 我已经搜索并查看了所有lipo:can't open input file错误问题和ld: symbol(s) not found for architecture armv7错误问题,但似乎没有一个答案对我有用。请不要只参考谷歌搜索结果。

  3. 我尝试过清理项目、删除和重新添加文件到目标、同步两个项目上的链接框架、删除派生数据、更改build active architecture only setting以及其他问题上建议的许多其他事情。

  4. 由于相同的库文件在相同的设备和 Xcode 和 SDK 上编译和链接成功,请不要提出“请求供应商提供与 arm64 等兼容的更新版本的库”之类的建议。

  5. 我在 OS X El Capitan 上运行 Xcode 7.1,如果需要仔细查看项目,我什至可以提供 TeamViewer Access。

任何帮助都非常感谢,我真的很坚持这一点。

先感谢您。

4

1 回答 1

2

如果 Xcode 检测到使用 C++ 编译的源文件,则 Xcode 仅在链接时包含标准 C++ 库。如果库需要使用 libc++(或类似工具)解析其某些符号,这可能会导致链接问题。

一种解决方法是在项目中创建一个空的 .cpp 文件来欺骗 Xcode。(我更喜欢将“真实”类制作成 .mm,因为重构从未对 Objective-C++ 起作用。)

于 2015-12-06T12:30:52.503 回答