3

我正在尝试为 iOS 构建一个静态库。我有 4 个带有 Objective-C++ 包装器的 C++ 类。它似乎构建得很好,但是当我尝试运行我的单元测试时,我得到了一堆类似于下面的链接器错误。为了使用我的库,我需要添加一些命令吗?

(null): "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:

编辑:

我通过将libc++.dylib框架添加到两个目标来解决这个问题。

4

1 回答 1

0

预感:库和单元测试目标在使用哪个 C++ 标准库上存在分歧。仔细检查两个目标中的构建设置。

  • 在 Xcode 4.6 中,该设置位于“Apple LLVM 编译器 4.2 - 语言”标题下
  • 在 Xcode 5 中,该设置位于标题“Apple LLVM 5.0 - 语言 - C++”下

在这两种情况下,设置都被命名为“C++ 标准库”(duh!),并且两个目标应该就它们是使用 libstdc++ 还是 libc++ 达成一致。

于 2013-11-07T22:22:44.117 回答