当我尝试编译我的项目时,出现了以下错误:
g++ -c -pipe -std=c++11 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -std=gnu++98 -Wno-deprecated -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I+= -I../includes -I. -I. -o ThreadPool.o ../sources/ThreadPool.cpp
In file included from /usr/include/c++/5.3.1/thread:35:0,
from ../includes/ThreadPool.hpp:4,
from ../sources/ThreadPool.cpp:1:
/usr/include/c++/5.3.1/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
我不明白为什么在我的Makefile中使用了标识-std=c++11
后还是出现问题。
#-------------------------------------------------
#
# Project created by QtCreator 2016-04-11T18:51:06
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = plazza_gui
SOURCES += main.cpp\
../sources/Window.cpp \
../sources/ThreadPool.cpp \
../sources/ProcessManager.cpp \
../sources/Process.cpp \
../sources/NamedPipe.cpp \
../sources/Xor.cpp \
../sources/AEncryptionMethod.cpp \
../sources/Cesar.cpp \
../sources/ProcessData.cpp \
../sources/Parser.cpp
HEADERS += ../includes/Window.hpp
INCLUDEPATH += += ../includes/
FORMS += forms/mainwindow.ui
QMAKE_CXXFLAGS += -std=c++11
LIBS += \
-lboost_regex \
DISTFILES += \
ressources/pizzera.jpg \
ressources/pizzeria.png \
ressources/icon.png
RESOURCES += \
ressources/ico.qrc
这个 Makefile 在我朋友的电脑上能够正常运行,但是当我克隆它后无法编译。
-std=gnu++98
,这很可能会覆盖您的-std=c++11
。 - Simon Kraemer-std=gnu++98
标志。 - CE_CXXFLAGS = -pipe -std=c++11
。 - CE_make distclean
,然后再次运行qmake
。 - exilit