Обычно я использую следующее, чтобы сделать json-файл зависимостью от сгенерированного moc-файла, который содержит соответствующий код.Предполагая, что класс, в котором вы указываете Q_PLUGIN_METADATA
, находится в заголовочном файле с именем myclass.h
, код qmake выглядит следующим образом:
DISTFILES += myclass.json
json_target.target = moc_myclass.o
json_target.depends += $$PWD/myclass.json
QMAKE_EXTRA_TARGETS += json_target
Примечание: Возможно, вам придется использовать json_target.target = $$OBJECTS_DIR/moc_myclass.o
вместо этого, если OBJECTS_DIR был ранее определен.Проверьте сгенерированный Makefile
, чтобы увидеть, соответствует ли путь зависимости пути соответствующего целевого объекта.