在Qt中添加额外的编译器选项
在Qt中,我可以指定额外的编译器选项? 像例如-std = c ++ 0x?
你可以尝试添加
QMAKE_CXXFLAGS += -std=c++0x
到您的.pro文件。
但是,这不应该在Qt 5中用于启用特定的c ++标准。 相反,在CONFIG
variablesc++11
或c++14
来做到这一点。 它将启用GNU扩展(-std = gnu ++ 11),但是如果不需要,也可以添加strict_c++
如果要禁用这些扩展)。 例如,这应该将-std=c++11
传递给编译器:
CONFIG += c++11 strict_c++
在你的.pro文件中,你可以添加:
QMAKE_CXXFLAGS += -std=c++0x
我认为规范的qmake.conf
中的每个variablesqmake.conf
可以这样改变。
例如,win32-g ++规范包含以下这些variables:
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
阿门和小B,
QT处理编译器选项的方式是通过.pro文件。 如果可以的话,这是一把双刃剑。 它创build了一个很好的抽象,特别是在编译大型项目时。 问题是,你必须查阅或记住如何添加标志。 在C ++ 0X的情况下,您必须将以下标志添加到.pro文件中:
QMAKE_CXXFLAGS += -std=c++0x
幸运的是,如果你使用QtCreator,你需要的大部分标志都会自动添加。
快乐的编码,凯尔