Qmake does not use stdC ++ 11 compilation flag

When I try to compile my project, I have this error:

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 \ 

I do not understand why, because I use the -std=c++11 flag in my Makefile

 #------------------------------------------------- # # 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 

The makefile works fine on my other computer, but when I clone it, I cannot compile it.

+5
source share
1 answer

This means that your compiler does not support C ++ 11 in this way. Try this if you are sure that your compiler is not so old:

 CONFIG += c++11 
+2
source

Source: https://habr.com/ru/post/1247346/


All Articles