C++ 在Qt中添加额外的编译器选项
在Qt中的哪里可以指定其他编译器选项?例如-std=c++0x?您可以尝试添加C++ 在Qt中添加额外的编译器选项,c++,qt,qt-creator,C++,Qt,Qt Creator,在Qt中的哪里可以指定其他编译器选项?例如-std=c++0x?您可以尝试添加 QMAKE_CXXFLAGS += -std=c++0x 到你的.pro文件 但不应在QT 5中使用,以启用特定的C++标准。相反,请在CONFIG变量中使用c++11或c++14。它将启用GNU扩展(-std=GNU++11),但如果不需要,如果要禁用这些扩展,还可以添加strict\u c++。例如,这应该将-std=c++11传递给编译器: CONFIG += c++11 strict_c++ 在.pro文
QMAKE_CXXFLAGS += -std=c++0x
到你的.pro文件
<>但不应在QT 5中使用,以启用特定的C++标准。相反,请在CONFIG
变量中使用c++11
或c++14
。它将启用GNU扩展(-std=GNU++11),但如果不需要,如果要禁用这些扩展,还可以添加strict\u c++
。例如,这应该将-std=c++11
传递给编译器:
CONFIG += c++11 strict_c++
在.pro文件中,您可以添加:
QMAKE_CXXFLAGS += -std=c++0x
我认为规范的qmake.conf
中的每个变量都可以这样修改
例如,win32-g++规范包含以下变量:
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = byacc
QMAKE_YACCFLAGS = -d
QMAKE_CFLAGS =
QMAKE_CFLAGS_DEPS = -M
QMAKE_CFLAGS_WARN_ON = -Wall
QMAKE_CFLAGS_WARN_OFF = -w
QMAKE_CFLAGS_RELEASE = -O2
QMAKE_CFLAGS_DEBUG = -g
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CXX = g++
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
QMAKE_CXXFLAGS_RTTI_ON = -frtti
QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
QT处理编译器选项的方式是通过.pro文件。如果可以的话,这是一把双刃剑。它创建了一个很好的抽象,尤其是在编译大型项目时。问题是,您必须查找或记住如何添加标志。对于C++0X,必须将以下标志添加到.pro文件中:
QMAKE_CXXFLAGS += -std=c++0x
幸运的是,如果您在Qt designer中使用QtCreator,您需要的大多数标志都会自动添加。?上网本?您将什么用作IDE?您的意思是在
qmake
文件中吗?我不知道TS的确切意思,但我想知道如何在.pro文件中指定编译器选项。@很抱歉,我没有提到,我使用的是QTDesigner如果您使用CONFIG+=c++11,则此特定标志也会为您完成。即使很明显,文档如下所示: