我在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。什么都没有改变。
答案 0 :(得分:1)
你有没有试过改变你的" 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工具:未找到工具
CMake工具:未找到工具
+++++++++++++++++++++++++++++++++++++++++++++++ +++++