2013-11-23 29 views
0

我想在Ubuntu上使用nvcc編譯CUDA代碼。然而,當我這樣做,我得到這樣的輸出:編譯使用nvcc給出「沒有這樣的文件或目錄」

> make 
/usr/local/cuda/bin/nvcc -m64 --ptxas-options="-v" -gencode arch=compute_11,code=sm_11 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -o main main.cu 
gcc: No such file or directory 
make: *** [main] Error 1 

即使當我試圖編譯只有在它一個主要功能的文件,它仍然不能正常工作:

> /usr/local/cuda/bin/nvcc main.cu 
gcc: No such file or directory 

nvcc似乎迴應 - 版本,所以它肯定存在。我不確定它爲什麼調用gcc。

回答

5

nvcc本身不是編譯器。這是一個「編譯器驅動程序」,編排編譯設備代碼,主機代碼並將其鏈接在一起的整個過程。在Linux上,它使用gcc編譯主機代碼。

要在Ubuntu上安裝gcc:

$ sudo易於得到--yes安裝建立必要的

+2

gcc的C++編譯器的也是必需的,建立必要的只是讓你的C編譯器和標準。庫標題。 – talonmies

+0

@talonmies:我檢查了Ubuntu 10.04,12.04和13.10的build-essential包。在這些,它包括g ++和libstdC++。 –

+0

事實證明,我安裝了gcc,但在nvcc搜索的目錄中只有gcc-4.4和gcc-4.7,所以我將gcc鏈接到gcc-4.4。謝謝! – Peter

相關問題