我在Linux Mint上设置了NetBeans 8.1来编译C/C++。起初一切都很顺利,直到我尝试使用C++14。
我将C++的设置从C++98更改为C++11。我修复了程序中的一个错误。我分心了,再次将设置更改为使用C++14。g++
,或者至少是我安装的版本,不支持C++14,所以我把它改回了C++11,但它仍然在自动使用C++14。我试着把它改为C++11,然后再改回来,然后又改成C++11。C++11确实有效,因为我过去曾成功地使用过这个标签。
这是构建日志:
cd '/home/.../NetBeansProjects/Sun Storm'
/usr/bin/make -f Makefile CONF=Debug
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/home/.../NetBeansProjects/Sun Storm'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux/sun_storm
make[2]: Entering directory `/home/.../NetBeansProjects/Sun Storm'
mkdir -p build/Debug/GNU-Linux
rm -f "build/Debug/GNU-Linux/main.o.d"
g++ -c -g -std=c++14 -MMD -MP -MF "build/Debug/GNU-Linux/main.o.d" -o build/Debug/GNU-Linux/main.o main.cpp
g++: error: unrecognized command line option ‘-std=c++14’
make[2]: *** [build/Debug/GNU-Linux/main.o] Error 1
make[2]: Leaving directory `/home/.../NetBeansProjects/Sun Storm'
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory `/home/.../NetBeansProjects/Sun Storm'
make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 76ms)
通过查看g++ -c -g -std=c++14
,可以安全地假设NetBeans仍在使用C++14,即使它被设置为使用C++11。我如何让NetBeans使用实际存在的设置,而不是自己编造?
注意:我在互联网上找不到任何关于NetBeans不遵循给定设置的信息。
我还尝试停用C/C++插件,重新启动IDE,然后再次激活它。我还尝试安装GNU标准C++库v3。一切都没有改变。
您是否尝试将"g++"调用更改为devtoolset-2?
文件->项目属性->构建->工具协作->
点击版本,您将看到编译器Netbeans正在使用
++++++++++++++++++++++++++++++++++++++++++++++++++++
C编译器:gcc(gcc)4.4.7 20120313(Red Hat 4.4.7-17)
C++编译器:g++(GCC)4.8.2 20140120(Red Hat 4.8.2-15)
Fortran编译器:找不到工具
汇编程序:GNU汇编程序版本2.20.51.0.2-5.44.el6 20100205
制作工具:GNU Make 3.81
调试器:找不到工具
QMake Tool:找不到工具
CMake Tool:找不到工具
++++++++++++++++++++++++++++++++++++++++++++++++++++