2

qmake は生成されたソース ファイルの依存関係を処理できますか?

次のようなprfファイルがあります。

idl_h.name = Generate .H file for ${QMAKE_FILE_BASE}.idl
idl_h.input = IDLS  # variable containing our input files
idl_h.variable_out = HEADERS
idl_h.commands = <command that takes .idl and genrates .h>
idl_h.output = $$IDL_GEN_DIR/${QMAKE_FILE_BASE}.h
QMAKE_EXTRA_COMPILERS += idl_h

この生成は正常に機能し、make 時に .h ファイルを作成します。問題は、入力ファイル ( $$IDLS) が相互に依存しており、常に正しい順序でビルドされるとは限らないことです。app.idl以下を含むのようなものがあります。

#include "common.idl"

以下が機能するはずです

idl_h.depend_command = g++ -EE ... $$IDL_GEN_DIR/${QMAKE_FILE_BASE}.h

しかし、明らかにdepend_commandは実際には実行されません


別のアイデアは、元の idl から依存関係を解析することです。

idl_h.depends = $$system(cat ${QMAKE_FILE_IN} | grep "^#include" | sed -re 's/#include\s+["<]([^.]+)\.idl[">]/\1.h/')

しかし、私のqmake構文が失敗しているようです。

4

1 に答える 1

1

追加してみる

idl_h.dependency_type = TYPE_C

あなたのprfに、.depend_commandと.dependsをドロップします

于 2010-09-29T12:28:13.110 に答える