2

对这个问题的回答让我意识到我需要将 -lstdc++ 添加到我的“其他链接器标志”中才能编译我的项目。

如果我将代码直接编译到我的项目中,它运行良好。如果我将它构建到一个框架中并包含该框架,它会抱怨:

Undefined symbols for architecture armv7:
  "std::terminate()", referenced from: ...

添加 -lstdc++ 似乎可以解决问题。它很好用,但是有人可以帮助我理解为什么我只在将我的代码视为框架时才看到这个问题吗?

4

1 回答 1

1

Jerry Coffin 的评论是有用的答案。编译器正在检测 .mm 扩展名并切换到 Obj-C++ 来构建框架,但没有迹象表明包含框架的构建也应该以这种方式编译。

于 2013-01-08T23:29:15.187 回答