GCC 4.7/4.8作为Xcode的C/C++编译器

5
我目前正在进行一个C++项目,希望使用C++11特性。在这个项目中,我使用的是用于数论的库NTL。 由于Xcode提供了方便的自动完成功能,因此我使用Xcode编写代码,并将库NTL与标志“-lntl”静态链接。
现在,我希望使用一些C++11特性。Xcode默认包含的苹果LLVM编译器支持这样的特性,但是与LLVM GCC 4.2编译器和iostream不同,使用NTL编译时无法正常工作。
因此,我使用LLVM GCC 4.2编译器,但它不支持C++11。因此,我安装了gcc48,并希望现在使Xcode使用gcc4.8编译其代码。
我该如何做?
--编辑-- 感谢所有评论,建议更改从libc++到stdlibc++(GNU libc++),这解决了NTL无法与Clang编译的问题。

1
Xymostech是正确的,我认为你应该尝试解决编译错误而不是将gcc48集成到XCode中,这样将来会更少痛苦和问题。如果您能在问题中包含编译错误,那就太好了。 - cody
是的,我认为这可能有所帮助。因为gcc的stdlibc++和clang的libc++不兼容,如果同时使用它们,像std::iostream这样的东西就无法工作。 - Xymostech
1
使用Clang编译时,完全可以使用GNU stdlibc++进行编译 - 二进制兼容性是您想要的主要原因。 - marko
6
人们该死,它叫做libstdc++而不是stdlibc++。 - Jonathan Wakely
你应该将你的编辑更改为自己问题的答案并接受它。 - miguel.martin
显示剩余3条评论
1个回答

1

有两种不同的C++运行时库实现:gcc的libstdc++和clang的libc++,它们彼此不兼容。

将使用从libc++更改为libstdc++


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接