将多个文件添加到输出以用于额外的编译器 Qt

Add multiple files to output for extra compiler Qt

我在为 Qt extra 编译器添加多个文件到输出时遇到了麻烦。
这是我的额外编译器的样子:

 new_target.input = $${INPUT_HEADERS}
 new_target.output  = $${OUTPUT_FILES}
 new_target.commands = python $${SCRIPT_NAME}.py $${CONFIG_FILE} --generate
 new_target.CONFIG += target_predeps
 new_target.variable_out = SOURCES
 new_target.dependency_type = TYPE_C
 QMAKE_EXTRA_COMPILERS += new_target

一切正常,直到 $${OUTPUT_FILES} 不包含多个文件。(例如: OUTPUT_FILES=first.cpp second.cpp third.cpp
因此 qmake 只能识别提到的第一个。
是否可以将多个文件传递到 .output 字段?
我正在使用 Qt 4.8.6

正如 docs 所说:

output - The filename that is created from the custom compiler.

输出应该是一个文件,而不是多个。根据您要实现的目标,您可能需要为每个输出文件创建一个单独的编译器目标,或者使用 for(iterate, list):

在循环中执行
OUTPUT_TARGETS=first second third
for(_TARGET, OUTPUT_TARGETS) {
    eval($${_TARGET}.input = INPUT_HEADERS)
    eval($${_TARGET}.output = $${_TARGET}.cpp)
    ...

    QMAKE_EXTRA_COMPILERS += $${_TARGET}
}