首先,我知道使用 -std=c++11 标志启用c++11支持的方法以及放置位置。我已将 -std=c++11 添加到 Project -> Properties -> C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler -> Miscellaneous -> Other Flags 中,并编译工作正常。但是索引器不兼容,例如如果我想使用 std::map 的 emplace 函数 (c++11),它会找不到该函数。
#include <map>
int main() {
std::map<int, int> data;
data.emplace(5,5);
我还查看了这些相关问题:
- Eclipse CDT索引器不知道C++11容器
- 在Eclipse CDT(Juno / Kepler / Luna)索引器中启用C++11
- http://www.eclipse.org/forums/index.php/mv/msg/373462/909018/#msg_909018
更新:现在我已经尝试过,它甚至无法识别std :: map类型,尽管编译正常且eclipse找到所有头文件...
- 编译器 Mingw64 GCC 5.2.0
- Eclipse Mars 4.5
- CDT 8.7
GCC 5.2
时出现,可能是GCC
库头文件的某些更改导致的。 - Galik