我在MacOS10.8上使用Eclipse4.2,安装了命令行工具(Xcode 4.6.3)。clang编译器通过使用以下标志支持C++11:-std=c++11 -stdlib=libc++。
我在Eclipse中有一个Autotools管理的项目。当调用CXX和CXXFLAFGS环境变量时,真正的编译将如预期的那样工作。然而,Eclipse中的静态代码分析仍然使用GCC ( Xcode一起安装的版本为GCC 4.2),因此不支持C++11,而且许多行显示的错误都不是真实的,因此静态代码分析几乎毫无用处。
使用自制软件,我还安装了GCC 4.7,但我没有成功地让Eclipse使用该版本(或clang++)来执行静态代码分析。
在使用Autotools管理的项目时,是否可以让Eclipse使用不同的编译器进行静态代码分析?我应该在哪里具体说明呢?
发布于 2013-09-19 00:59:35
在安装Xcode 5之后,按照this question中的说明,我设法解决了这个问题(我不能再测试这是否也适用于Xcode 4.6 )。
解决方案是转到Project properties -> C/C++ General -> Preprocessor Include Paths, Macros etc. -> Providers -> CDT GCC Built-in Compiler Settings,并在Command to get compiler specs:中追加-std=c++11 -stdlib=libc++。
做完这些更改后,行应该如下所示:
${ -E } -P -v -dD ${INPUTS} -std=c++11 -stdlib=libc++
https://stackoverflow.com/questions/18086835
复制相似问题