2012-01-24 81 views
10

我剛剛開始在CUDA一個小項目。CUDA編譯沒有Visual Studio中 - 「找不到路徑的cl.exe編譯」

我需要了解以下內容: 是否有可能編譯CUDA代碼,而無需使用/購買微軟的Visual Studio? 使用Nvcc.exe我得到的錯誤「找不到路徑編譯器cl.exe時」。

我試圖安裝CUDA plugin針對NetBeans,但它不工作。 (與當前版本的NetBeans)

平臺:Windows 7的

在此先感謝。

+1

你想用什麼編譯器呢? – flipchart

+0

是的,你可以在沒有任何IDE的情況下使用它。您可以將nvcc設置爲您的環境變量。 – nouveau

+0

@ flipchart,我想使用任何免費的編譯器。我認爲nvcc已經足夠,但它要求cl.exe。 –

回答

6

繼以前的評論我已經安裝Studio Express & VS2010。 這並沒有解決「cl.exe不在路徑」問題。

我解決了這個問題,並顯示錯誤Cannot find compiler cl.exe in path,通過在PATH c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64, 安裝Windows SDK之前。

這個question也包含有價值的信息。
由於某種原因,VS2010 & Studio Express即使執行vsvars32.bat後仍未能在路徑中設置正確的變量。

謝謝大家的寶貴幫助。

+1

vsvars32.bat確實在路徑中設置了適當的變量,但只在該命令提示符的上下文中;它並不打算設置整個系統的變量。如果您希望進程使用變量,則必須從命令提示符啓動進程。 – arx

+1

還有一件事與這個問題有關。即使在用戶和sys變量中添加了相同的錯誤(在PATH中找不到cl.exe),我也得到了相同的錯誤。事實證明,問題出在兩個不同的Visual Studio版本(2012和2013)。卸載2013年後,它現在編譯並在2012年運行(所以也可以在其他IDE中編譯 - 僅在SharpDevelop中測試過,它可以工作!)。 – Val

8

更新

正如在評論中指出,後Windows 7的SDK的版本不包括構建工具。如果你想使用微軟最新的工具,你必須安裝Visual Studio。安裝完成後,您可以使用命令行中的工具。

目前免費版本是「社區」版本,例如, Microsoft Visual Studio Community 2015

你可以跟我描述之前,使用舊的SDK工具,不斷地開發應用程序的Windows 7及更早版本(他們將在更高版本的Windows上運行):

原來的答案

如果您拼命想避免的Visual Studio,下載並安裝Windows SDK。這包含(或多或少)與Visual Studio相同的構建工具。

然後運行Windows SDK命令提示符(你會發現在Microsoft Windows SDK開始菜單上)設置爲指向工具的路徑,而你設定。

或者只是使用Visual C++ Express。

+1

什麼是下載大小(實際大小,而不是鏈接頁面上列出的500 KB)?包含哪個版本的cl.exe? - 高達600 MB(ISO下載)和VS 2010.以下是發行說明http://download.microsoft.com/download/E/0/3/E03C84A2-C25B-429F-B018-0C8B8B0C5009/ReleaseNotes_Win7_1RTMSDK.Htm – osgx

+1

@osgx:我已經安裝了7.1 SDK和VC++ 2010 Express。他們都有cl.exe版本16.00.30319.01。 SDK的下載很大,但我無法告訴你具體的大小。發行說明中提到的600MB是合理的。 – arx

+1

Windows 8 SDK不再包含命令行構建環境。 http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx – mcmillab

2

你必須弄清楚NVIDIA GPU Computing Toolkit的安裝位置。 在我的系統是在 「C:\ Program Files文件\ NVIDIA GPU計算工具包\ CUDA \ V4.0 \ BIN \ nvcc.exe」 然後

  1. 「編輯環境變量」 在Windows上。
  2. 單擊新建...
  3. 變量名:NVCC 變量值:C:\ Program Files文件\ NVIDIA GPU計算工具包\ CUDA \ V4.0 \ BIN \ nvcc.exe
  4. 點擊OK。
+2

你對丟失的主機編譯器做了什麼? – talonmies

+0

@Jay,我做到了,但錯誤依然存在。 –

+0

@talonmies其實我已經在Windows上安裝了Visual Studio,所以我有主編譯器。 – nouveau

2

添加此選項NVCC

nvcc x.cu <other options> -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin" 

我使用VS2012和我的cl.exe時dir是在這裏。