.pro
を含むディレクトリにWindowsスタイルパスを取得するか、_PRO_FILE_PWD_
に格納されているものをWindowsスタイルパスに変換する必要はありますか?QMakeスクリプトでUnixパスをウィンドウに変換する
私はそれがWindows上でUNIX形式のパスを返しますqmakeの中_PRO_FILE_PWD_
変数に問題があります。
例えばc:/foo/bar
代わりにc:\foo\bar
これは、パスは、ポストリンク手順の一部として使用されている問題を証明しています。
QMAKE_POST_LINK += copy /y $$[QT_INSTALL_BINS]\\QtCore4.dll $${_PRO_FILE_PWD_}/bin/;
は、私は、Visual Studioプロジェクトを作成するために、
.pro
ファイルを使用して、私は私が手動で変更された場合、前方はすべてがエラーなし罰金にコピーされていることをVSにスラッシュをバックアップするスラッシュことがわかります。
パスを訂正しないと、Visual Studioで次のエラーが発生します。 Rokuのに
PostBuildEvent:
1> Description: copy /y C:\Qt\4.8.3\bin\QtCore4.dll E:/foo/build/win32//bin//;
1> The syntax of the command is incorrect.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command "copy /y C:\Qt\4.8.3\bin\QtCore4.dll E:/foo/build/win32/bin/;
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code 1.
ソリューション
非常にシンプルなソリューションのおかげで/文字を使用してパスを中心にエスケープされた二重引用符を追加します。
MAKE_POST_LINK +=
copy /y $$[QT_INSTALL_BINS]\\QtCore4.dll \"$${_PRO_FILE_PWD_}/bin/\";
複数のコピーコマンドを追加する場合は、アンパサンドで区切る必要があります。セミコロンは機能しません。
そう、
QMAKE_POST_LINK +=
copy /y $$[QT_INSTALL_BINS]\\QtCore4.dll \"$${_PRO_FILE_PWD_}/bin/\";
あなたは文字が/問題ですか?これは、Windowsのほぼすべての場所で動作します。コピーラインをコマンドプロンプトにコピーして試しましたか?最後にできました。問題なの? –
@Roku私はコマンドプロンプトで試しました../only \とは動作しません。 ;私はいくつかのコピーコマンドを持っているので、そこにあります。私は...なしで試してみました。 – volting