将iOS应用程序与libstdc ++和libc ++相关联

时间:2013-03-25 12:48:19

标签: c++ ios xcode c++11 linker

用例:我想使用使用libstdc ++的第三方静态库(无法更改),因此我必须将我的应用程序与libstdc ++链接。现在,如果我想在自己的代码中使用C ++ 11特性,我必须在Xcode中选择libc ++,并另外链接libstdc ++以满足静态库。

我的问题是,即使我在“构建设置”中选择了libc ++并将“-lstdc ++”添加到“其他链接器标志”(也通过“构建阶段>链接二进制文件库”尝试),我正在获取链接器后者的错误,即第三方库引用的libstdc ++函数/类。

如何配置项目以链接两个C ++标准库?理论上它应该是可能的,因为libc ++将在它自己的内联命名空间std::__1中。

1 个答案:

答案 0 :(得分:10)

我刚刚碰到了这个问题,而我的解决方案是,而不是在其他标志上添加-lstdc++,而是放置/usr/lib/libstdc++.dylib

我的预感是,当xcode / clang设置为-std=c++时,需要显式加载较旧的.dylib。