告诉QMake -std = C ++ 17。QMAKE_CXXFLAGS被覆盖

ky

我使用Qt 5.9.1,并且一切正常。除了一点点麻烦之外,它覆盖了我的-std=C++17

该项目:

#CONFIG += c++14 #makes -std=gnu++1y 
#CONFIG += c++17  # is not supported by Qt591
QMAKE_CXXFLAGS += -std=c++17
TARGET = equipment
TEMPLATE = app
SOURCES += ....
....

编译指令:

g++ -c -pipe -std=c++17 -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC
-DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_SERIALPORT_LIB -DQT_CORE_LIB  
-I../app -I/opt/Qt5.9.1/5.9.1/gcc_64/include -I/opt/Qt5.9.1/5.9.1/gcc_64
/include/QtCore -I. -I/opt/Qt5.9.1/5.9.1/gcc_64/mkspecs/linux-g++ 
-o test0.o ../test0.cc

我们可以看到QMake-std=的第二个和第二个-std=gnu++11优先于我的-std=c++17

如何告诉QMake使用-std=C++17

帖木儿·库哈斯基(Timur Kukharskiy)

尝试CONFIG += c++1z,如果不起作用,请使用将其传递给编译器QMAKE_CXXFLAG

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章