从理论上讲,这是在Qt源本身中进行GUI绘画的方式:
SOURCES_NOOPTIMIZE = somefile.cpp
nooptimize.name = nooptimize
nooptimize.input = SOURCES_NOOPTIMIZE
nooptimize.dependency_type = TYPE_C
nooptimize.variable_out = OBJECTS
nooptimize.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)}
nooptimize.commands = $${QMAKE_CXX} $(CXXFLAGS) -O0 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} # Note the -O0
QMAKE_EXTRA_COMPILERS += nooptimize
Run Code Online (Sandbox Code Playgroud)
另请参阅文档中的高级用法如何添加编译器:
定制编译器规范支持以下成员:
会员介绍
命令 用于从输入生成输出的命令。
CONFIG 自定义编译器的特定配置选项。有关详细信息,请参见CONFIG表。
depend_command 指定用于生成输出依赖项列表的命令。
dependency_type指定输出的文件类型。如果它是已知类型(例如TYPE_C,TYPE_UI,TYPE_QRC),则将其视为这些文件类型之一。
取决于指定输出文件的依赖性。
输入 该变量指定应使用定制编译器处理的文件。
名称 有关自定义编译器正在执行的操作的描述。这仅在某些后端中使用。
输出 从自定义编译器创建的文件名。
output_function指定一个自定义qmake函数,该函数用于指定要创建的文件名。
variables 指示在pro文件中称为$(VARNAME)时,此处指定的变量已用$(QMAKE_COMP_VARNAME)替换。
variable_out 从输出创建的文件应添加到的变量。