我正在使用 Eclipse Luna 和 g++ 4.7.2(由devtoolset-2提供)运行 CentOS 6.6 x64。我正在使用 Eclipse 内置的自动生成文件。
我已经使用 scl enable devtoolset-2 bash 启用了 g++ 4.7.2
[me@dev ~]# g++ --version g++ (GCC) 4.7.2 20121015 (Red Hat 4.7.2-5) 版权所有 (C) 2012 Free Software Foundation, Inc. 这是免费软件;查看复制条件的来源。没有保修;甚至不考虑适销性或特定用途的适用性。
不幸的是,在编译时,Eclipse 会抛出错误,说“-std=c++11”不是一个有效的选项。我已经在项目属性>> C/C++ Build >> Settings >> Dialect >>“Other dialect flags”下设置了方言,值为“-std=c++11”。
调用:GCC C++ 编译器 make:*** 等待未完成的作业.... g++ -std=c++11 .... cc1plus:错误:无法识别的命令行选项“-std=c++11”
我尝试使用带有“-std=c++0x”的“语言标准”选项,但编译时会抛出错误
map<int, MyObject*> myObjectMap;
// assume I've added in objects before the loop
for (const auto& kv : myObjectMap) // line 249
{
// do things
}
249:错误:“:”标记之前的预期初始化程序