我想通過命令提示符編譯在Windows 7 CUDA測試程序, 我是這個命令:錯誤從命令編譯CUDA提示
nvcc test.cu
但我得到的是這樣的錯誤:
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
什麼可能導致此錯誤?
我想通過命令提示符編譯在Windows 7 CUDA測試程序, 我是這個命令:錯誤從命令編譯CUDA提示
nvcc test.cu
但我得到的是這樣的錯誤:
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
什麼可能導致此錯誤?
您需要包含「cl.exe時」文件的文件夾添加到PATH環境變量。例如:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
編輯:好了,打開我的電腦 - >屬性 - >高級系統設置 - >環境變量。這裏查找列表中的「PATH」,並添加上面的路徑(或者cl.exe的位置)。
cl.exe
是微軟的C/C++編譯器。所以問題是你沒有安裝在命令行可以找到它的地方。
nvcc只是CUDA特定部分程序的前端。它必須調用一個完整的編譯器來完成這項工作。在這種情況下,它無法找到在Visual Studio編譯器「cl.exe時」
檢查路徑,NVCC文檔等
我看到這是一個老問題,但是當我嘗試構建我的CUDA項目時,最近在Visual Studio 2012中出現了此錯誤。很明顯,我已將CUDA項目更改爲2012年11月的版本,將其更改回v110,通常默認情況下會修復此錯誤。
在Visual Studio中,左鍵單擊CUDA項目 - >屬性 - >配置屬性 - >常規 - >平臺工具集,然後選擇:Visual Studio 2012(v110)。
我大概可以將它與2012年11月的包一起使用,但CUDA代碼不使用該包的任何附加功能,因此沒有必要。 (這包包含可變參數模板的C++ 11)
加入這個選項解決這個問題NVCC
nvcc x.cu ... -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin"
例如我的編譯器是VS2012。和cl.exe是在這個目錄中
你能澄清你的意思嗎?「編輯此問題」? – skrrgwasme
抱歉,我應該寫解決不編輯:D對不起我的英語。 –
將'\ VC \ bin \'文件夾添加到PATH環境變量中對我來說不起作用(Win7)。然而,你的解決方案工作得很好!我正在嘗試爲MATLAB編譯一些代碼。謝謝! –
如果在解決此問題後出現另一個錯誤「無法找到corecrt.h」,請查看https://stackoverflow.com/questions/38290169/cannot-find-corecrt-h- universalcrt-includepath-is-wrong –