2015-10-14 49 views
2

我使用Qt Creator 3.4.2 for Windows和MSVC2013編譯器。當我建立的項目,我得到一個錯誤:如何在Qt Creator的項目文件(.pro)中修改PATH變量

LNK1158: cannot run 'rc.exe' 

我設法

Projects -> Build Environment 

下加入

"C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Bin" 

到PATH變量來解決它,但我需要修改PATH通過編輯.pro文件變量。這樣可以更容易地在另一臺計算機上打開和構建我的項目,因爲所有路徑都將存儲在.pro文件中。此解決方案不起作用:

PATH += "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Bin" 

是否有可能?

+0

也許你已經意識到了這一點,但是如果你與項目中的其他人一起工作,這不是一個好主意,因爲他們的SDK可能位於不同的位置。 – Mitch

+0

當然,.pro文件中的硬編碼SDK路徑不是最好的解決方案。但在我的情況下,如果SDK版本相同,則不同機器上的路徑將相同。另外,在.pro文件中修改它們(僅複製和粘貼)比在Project - > Build Environment中爲每個構建配置逐個手動更改它們要容易得多。 – lvds

回答

1

奇怪的是,你有這樣的錯誤,因爲Qt Creator應該檢測MSVC編譯器並在適當的環境下構建項目。 Qt Creator的知道它應該運行所需的批處理文件來準備VS命令提示符控制檯的環境中,例如C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat x86


無論如何,這是可能的編寫創建運行任何自定義外殼的Makefile qmake項目文件(.pro)命令在實際項目編譯之前。 當qmake處理.pro文件時,它僅創建Makefiles。然後編譯由其他make構建工具完成。 Qt Creator使用它的jom make實用程序。從VS控制檯可以運行nmake

Make實用程序根據Makefiles規則中的指定運行不同的工具。使用build命令可以創建額外的假目標,並設置變量PATH。主要目標應該取決於這個目標。

.pro文件中以下行創建這樣的規則:

QMAKE_EXTRA_TARGETS += customtarget1 

customtarget1.target = dummy 
customtarget1.commands = set PATH=C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Bin;$(PATH) 

PRE_TARGETDEPS += dummy 

所以,在加工過程中MAKEFILES第一目標dummy。其「構建」命令設置爲PATH。然後所有其他工具在該環境中運行。

+0

太棒了!謝謝。 – lvds

相關問題