2013-03-25 39 views
8

使用案例链接iOS应用:我想用使用的libstdC++(不能更改)第三方静态库,所以我要我的应用程序对链接的libstdC++。现在,如果我想在我自己的代码中使用C++ 11的特性,我不得不在Xcode中选择的libC++和反对的libstdC++还链接到满足静态库。对阵双方的libstdC++)和libc(++

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

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

+1

你检查[这个答案](http://stackoverflow.com/a/12546314/1921751)?它可能会给你一个关于如何解决你的问题的提示。就个人而言,我认为用libstdC++和libC++来处理这个问题确实很痛苦,但任何事情都是可能的!没有任何方法可以从第三方静态库中获取源代码并使用libC++编译它们吗?我有这个问题,但幸运的是我曾访问,所以我只是重新编译“-stdlib =的libC++”和链接器错误都不见了一切的来源。 – 2013-04-18 14:02:24

回答

10

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

我的直觉是,当Xcode中/铛具有-std=c++集,名为.dylib需要显式地加载上了年纪。

相关问题