1

我在 Mac OS 10.8 上使用 Eclipse 4.2,并安装了命令行工具(Xcode 4.6.3)。clang 编译器通过使用以下标志来支持 C++11:-std=c++11 -stdlib=libc++.

我在 Eclipse 中有一个由 Autotools 管理的项目。在调用时覆盖CXXCXXFLAFGS环境变量后,真正的编译按预期工作。configure但是Eclipse中的静态代码分析继续使用GCC(Xcode安装的版本是GCC 4.2),所以不支持C++11,而且很多行显示的错误不是真实的,做静态代码分析几乎没用。

使用自制软件我还安装了 GCC 4.7,但我没有成功让 Eclipse 使用该版本(或 clang++)来执行静态代码分析。

在使用 Autotools 管理的项目时,是否可以让 Eclipse 使用不同的编译器进行静态代码分析?我应该在哪里指定?

4

1 回答 1

0

安装 Xcode 5 并按照此问题中的说明进行操作后,我设法解决了问题(我无法再测试这是否也适用于 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:append中-std=c++11 -stdlib=libc++

进行该更改后,该行应如下所示:

${COMMAND} -E -P -v -dD ${INPUTS} -std=c++11 -stdlib=libc++

于 2013-09-19T00:59:35.780 回答