5

我已经升级到 Xcode 5,并且能够使用现有设置很好地构建我的项目。

将 Base SDK 更新到 7.0 不会导致任何问题。

但是,当我将 iOS 部署目标更改为 iOS 7.0 时,我开始收到标准 C++ 符号的链接错误。例如:

Undefined symbols for architecture armv7 std::string::empty() const", referenced from...

我试过的:

  • 显式链接标准 C++ 库
  • 更改 Xcode 5 中的“C++ 标准库”设置。尝试了 libstdc++、libc++ 和“编译器默认值”

如果部署目标设置为 iOS 7.0,它只是找不到 C++ 符号,如果它设置为 iOS 6.1,它会找到。

4

1 回答 1

5

事实证明,如果 XCode 在项目中找不到任何 C++ 文件,则假定不需要 libstd++。因此,您必须手动将 C++ 文件添加到项目中(一个空的 .mm 文件就足够了)。

所有的功劳都归于这个Stackoverflow 线程中的答案

于 2013-10-09T15:32:14.607 回答