是否有辦法將windows樣式路徑獲取到包含.pro
的目錄或將_PRO_FILE_PWD_
中存儲的內容轉換爲Windows樣式路徑?將Unix路徑轉換爲QMake腳本中的窗口
我有在QMAKE的_PRO_FILE_PWD_
變量它返回Windows上的UNIX風格路徑的問題。
e.g c:/foo/bar
代替c:\foo\bar
這被證明是在路徑被用作一個鏈接後步驟的一部分的問題。
QMAKE_POST_LINK += copy /y $$[QT_INSTALL_BINS]\\QtCore4.dll $${_PRO_FILE_PWD_}/bin/;
我用.pro
文件創建一個Visual Studio項目,我可以看到,如果我手動更改斜線向後斜槓在VS一切都沒有任何錯誤複製的罰款。
如果我不糾正路徑,我在Visual Studio中出現以下錯誤。
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.
解決方案
非常簡單的解決方案由於Roku公司通過使用/字符添加路徑周圍逃脫雙引號。
MAKE_POST_LINK +=
copy /y $$[QT_INSTALL_BINS]\\QtCore4.dll \"$${_PRO_FILE_PWD_}/bin/\";
有關添加多個複製命令的注意事項,必須使用分號分隔它們,分號不起作用。
例如
MAKE_POST_LINK +=
copy /y $$[QT_INSTALL_BINS]\\QtCore4.dll \"$${_PRO_FILE_PWD_}/bin/\" &
MAKE_POST_LINK +=
copy /y $$[QT_INSTALL_BINS]\\QtGui4.dll \"$${_PRO_FILE_PWD_}/bin/\";
確定的字符/是什麼問題?它在Windows中幾乎可以在任何地方使用你是否將複製行復制粘貼到命令提示符並在那裏嘗試過?最後一個;是問題嗎? – 2013-02-18 16:06:33
@Roku我剛剛嘗試過命令提示符。它不適用於/ only \。 The;是因爲我有幾個副本命令..我已經嘗試沒有... – volting 2013-02-18 17:11:45