問題
qmakeをQTCreatorと組み合わせて使用して、マルチ実行可能QTプロジェクトに取り組んでいます。各実行可能ファイルには独自の.proファイルがあり、それらはすべて包括的な.proファイル(template = subdirs)に含まれています。個々の.proファイルには、すべての実行可能ファイルが同じ場所に配置されるようにDESTDIRを設定する共通の.priファイルも含まれています。このDESTDIRは、デバッグとしてコンパイルされているのか、リリースとしてコンパイルされているのかによって異なります。これは、包括的なサブディレクトリの下に別のサブディレクトリ.proを介して実行可能ファイルのコレクションを追加するまで、うまく機能しました。全体的な設定は次のようになります。
- All.pro
- | -Project1.pro
- | -Project2.pro
- | -Subdirs.pro
- | -| -Project3.pro
- | -| -Project4.pro
新しくチェックアウトしたコピーがある場合は、qmakeを実行でき、デバッグからリリースに、またはその逆に切り替えるまで、すべてが機能します。これを行うと、Project1.proとProject2.proは正常に更新され、実行可能ファイルが正しいディレクトリに配置されますが、Project3.proとProject4.proは古いディレクトリを使用します。
試み
影響を受けるすべてのmakefileを手動で削除すると、qmakeは新しいmakefileを生成します。毎回すべてのmakefileを削除するためのある種のプリコンパイルコマンドを書くことができると思いますが、それがすべてのプラットフォームで機能することを確認するために費やす必要がある時間は言うまでもなく、それは物事を行うための間違った方法のようです。
QT4.6.4から4.8.1でこれを試しました
QT Creatorを使用するときは、コマンドライで行うことを模倣するさまざまなビルド構成を介してデバッグモードとリリースモードを切り替えます(つまり、CONFIG + = debugを追加または削除します)。
質問
- qmakeがmakefileを更新するのを妨げているのは何ですか?
- qmakeの単なるバグである場合、最善の回避策は何ですか?
ありとあらゆる助けを大いに感謝します。