2011-06-06 167 views
5

我使用GNU make來使用Microsoft Visual C++構建項目,我希望能夠從任何CMD窗口運行它,而不必打開預配置其中路徑(和各種其他環境變量)由批處理文件預配置。理想情況下,我想在makefile中定義相關的環境變量,所以我只需要打開一個CMD窗口並鍵入「make」即可。在makefile中指定路徑(在Windows上爲GNU make)

總的來說,這很簡單,但我很困擾PATH;到目前爲止,我嘗試過使用標準PATH變量(如操作系統中定義的)並將路徑附加到各種構建工具的每種語法都失敗了。

而不是通過六個或七個不同的語法我試過了 - 其中一些給出的錯誤消息,其中一些沒有給出錯誤消息,但只是沒有工作 - 我會問清楚的問題:

  • 我必須在我的makefile中放置什麼行,以便link.exe的路徑,即「C:\ Program Files文件(x86)\ Microsoft Visual Studio 9.0 \ VC \ bin」將被添加到「make」使用的路徑?

到目前爲止,我已經到成功最近已經確定:

LINK = 「C:\ Program Files文件(x86)的\微軟的Visual Studio 9.0 \ VC \ BIN \ LINK.EXE」

...並以$(LINK)替換所有後續對「link.exe」的引用,但是這會失敗,因爲link.exe具有也必須位於該路徑上的各種依賴關係(例如mspdb80.dll)。

回答

7

這工作:

DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE 
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin 

export Path:=$(DevEnvDir);$(VCINSTALLDIR);$(Path) 

這是需要「出口」和之前擊敗了我區分大小寫。

+1

在我的情況下(make.exe v.3.8.1從http://gnuwin32.sourceforge.net/packages/binutils.htm)我不得不切換到大寫 - PATH,與路徑它沒有工作。 – 2015-11-20 10:49:40

+0

我有和@ZinovyNis一樣的經歷。 – drnewman 2017-07-25 22:16:04