我正试图找到一种在Eclipse上获得完整C ++ 11支持的方法。
在Eclipse Juno中,__GXX_EXPERIMENTAL_CXX0X__
有很多新功能,但我没有找到对std::threads
,std::mutex
等的支持。
如何完成所有C ++ 11功能?
编辑:解决方案
转到Project -> Properties -> C/C++ General -> Path and Symbols -> Tab [Symbols]
。
添加符号 __ cplusplus ,其值为 201103L
答案 0 :(得分:17)
Eclipse使用C + 11支持(Indexer等)就好了:Juno和Kepler。问题是你必须让Eclipse知道你将使用C ++ 11支持进行编译。这是通过在-std=c++11
中向CDT GCC Builtin Compiler Settings
提供额外标记C/C++ -> Build -> Settings -> Discovery [tab]
来完成的,因此它将显示如下内容:
${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11
这就是你用Kepler / Juno做的所有事情,以正确地突出显示C ++ 11代码。
注意,这是工作区范围的设置。如果您不想在工作区中设置它,则可以按项目执行相同的操作。
答案 1 :(得分:-1)
是否有一个完全支持C ++ 11的编译器?如果您使用的是Windows,那么我认为您应该尝试Microsoft Visual Studio Express Edition 2013。它的C ++ 11支持并不完整,但IMO相当不错,看起来它在不久的将来会变得更好。