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

时间:2015-04-16 19:58:46

标签: c++ qt qt4 qmake

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

 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

1 个答案:

答案 0 :(得分:1)

正如docs所说:

  

output - 从自定义编译器创建的文件名。

输出应该是一个文件,而不是多个。根据您要实现的目标,您可能需要为每个输出文件创建单独的编译器目标,或者使用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}
}