2

以前は Visual Studio でコーディングするときにプロジェクト テンプレートを使用していましたが、今では Qt Creator を使用する必要があり、「プロジェクト ウィザード」と呼ばれる非常によく似たものがあることがわかりました。ビルド フォルダーにコピーされるテキスト ファイルが必要で、新しいビルド ステップを追加して解決しましたが、プロジェクト ウィザード ファイルに新しいビルド ステップを追加する方法がわかりません。だから、私は「plaincpp」プロジェクトウィザードをベースにしましたが、変更するcmakeファイルはありません。また、Qt Creator がビルド ステップを *.pro.user ファイルに保存することもわかりました。

4

2 に答える 2

2

@ 0x35 で述べられ QMAKE_POST_LINK += <arguments> ているように、.pro ファイルの任意の場所に置くことで使用できます。(Windows では、この方法では最初にクリーンアップが必要になる場合があります)。

@hoholok のコメント (およびいくつかの調査) が示唆するその他の考慮すべき議論:

  • 現在のビルド ディレクトリは、およびを使用して検索されます$$OUT_PWD
  • を使用したソースディレクトリ$$PWD
  • .pro ファイル ディレクトリ$$_PRO_FILE_PWD_
  • これらの引数を使用してディレクトリから上に移動するには、../exを使用します。$${OUT_PWD}/../otherFolder/

Windowsユーザーの場合、上記のディレクトリはスラッシュを使用します。これにより、ビルドが失敗します。スラッシュは 2 つのバックスラッシュに変換する必要があります。ex (ソリューション .pro ファイルで動作):

Directory_to_Use = some_Directory #initialization for linux directory
PWD_WIN = $${OUT_PWD} #Set PWD_WIN to output directory
win32 # this code only executes on a windows machine
{
    Directory_to_Use = C:\\_Dev\\Qt\5.9.1\\mingw53_32\\bin #change linux path to the windows path
    PWD_WIN ~= s,/,\\,g #change all forward slashes into double backslashes
}
QMAKE_POST_LINK += COPY $$Directory_to_Use\\Qt5* $$PWD_WIN\\debug   #command that works on both linux and windows

このコード例のスニペットは、すべての Qt dll を Qt インストール ディレクトリからプロジェクト ビルド ディレクトリにコピーします。

ビルド後に複数のコマンドを実行する必要がある場合は、別のコマンドを追加するQMAKE_POST_LINK += <arguments>か、次のように for ループに入れます: for loop in .pro file

于 2017-10-11T08:46:56.370 に答える