2008-12-02 46 views
12

我有一個混合的VB.NET和C++項目的解決方案。使用Visual Studio 2005時,您可以設置「工具 - >選項 - >項目和解決方案 - > VC++目錄」以幫助編譯器找到您的包含文件。當用MSBuild構建相同的解決方案時,我看不到如何傳遞這些設置。沒有指定此路徑,C++將不會編譯。從Visual Studio構建這個解決方案時,它完美地構建。如何設置MSBuild VC++目錄

什麼是通過此路徑爲MSBUild的方式?

編輯:看起來像MSBuild不會將路徑(或/ u開關)傳遞給vcbuild。從VCBuild開始,而不是依賴。

+0

隨着Visual 2010的工作更符合預期,因爲使用了用戶屬性目錄。有沒有更多的需要使用環境變量 – CharlesB 2010-11-17 14:58:26

+1

最新版本VS2013,請參閱我的答案在線程: http://stackoverflow.com/questions/15654002/adding-additional-library-and-include-paths-when-compiling-從命令行/ 28103688#28103688 – zhifac 2015-01-23 05:45:15

回答

13

要設置包含目錄,可以將它們添加到INCLUDE環境變量中。您使用與PATH環境中相同的格式。變量 - 你用分號分隔路徑。

要設置庫目錄 - 可以通過將它們放入LIB環境變量中,以類似的方式進行設置。

要設置環境變量,只需右鍵單擊「我的電腦」,選擇「屬性」。然後你進入「高級」選項卡,並有一個名爲「環境變量」的按鈕。

或者,你可以從一個批處理腳本運行的MSBuild,在這種情況下,調用的MSBuild之前,您可以設置包含和LIB變量,就像這樣:

set INCLUDE=C:\Libraries\LibA\Include 
set LIB=C:\Libraries\LibA\Lib\x86 
4

...,你也可能會喜歡追加%包含%和%LIB%到您的變量,以避免他們的覆蓋

set INCLUDE=C:\Libraries\LibA\Include;%INCLUDE% 
set LIB=C:\Libraries\LibA\Lib\x86;%LIB%