IOS目标链接可可堆栈库,其中库编写了C ++ 11标准错误

时间:2012-08-09 14:14:22

标签: c++ ios c++11 static-libraries xcodebuild

我正在开发一个项目,它是一个cocoa静态库,它使用了由其他人编写的C ++库。这个C ++库使用了C ++ 11和libc ++(支持C ++ 11的LLVM C ++标准库)。

我成功构建了cocoa库,但是当我在App中链接这个库时(只需在“Link Binary with Libraries”中添加链接)。

发生错误,这是错误日志:

"non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:


  "non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:


  "non-virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:


  "non-virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:


  "non-virtual thunk to std::__1::basic_istream<wchar_t, std::__1::char_traits<wchar_t> >::~basic_istream()", referenced from:


  "non-virtual thunk to std::__1::basic_istream<wchar_t, std::__1::char_traits<wchar_t> >::~basic_istream()", referenced from:


  "non-virtual thunk to std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:


  "non-virtual thunk to std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:


  "non-virtual thunk to std::__1::basic_ostream<wchar_t, std::__1::char_traits<wchar_t> >::~basic_ostream()", referenced from:


  "non-virtual thunk to std::__1::basic_ostream<wchar_t, std::__1::char_traits<wchar_t> >::~basic_ostream()", referenced from:


  "non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:


  "non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:


  "operator delete[](void*)", referenced from:


  "operator delete(void*)", referenced from:


  "operator new[](unsigned long)", referenced from:


  "operator new(unsigned long)", referenced from:


  "___cxa_begin_catch", referenced from:


  "___cxa_end_catch", referenced from:


  "___cxa_pure_virtual", referenced from:


  "___cxa_rethrow", referenced from:


  "___gxx_personality_v0", referenced from:


  "_crc32", referenced from:


  "_deflate", referenced from:


  "_deflateEnd", referenced from:


  "_deflateInit2_", referenced from:


  "_get_crc_table", referenced from:


  "_inflate", referenced from:


  "_inflateEnd", referenced from:


  "_inflateInit2_", referenced from:

看起来像关于链接C ++ 11库的问题,但我不知道它。 也许链接APP中使用libstdc ++标准的cocoa静态库,没有C ++ 11标准, 所以冲突发生在这里。 但我不确认这一点。

你能帮帮我吗?

由于

1 个答案:

答案 0 :(得分:6)

因为我错过了链接libc ++。dylib库。

因此产生这些错误。

注意:Clang支持C ++ 11。