2012-10-31 30 views
11

Come posso forzare gcc a cercare in/usr/cuda/local/include per cuda_runtime.h?errore: cuda_runtime.h: nessun file o directory

Sto tentando di compilare un'applicazione CUDA con un wrapper C. Sto usando Ubuntu 10.04.

ho compilato con successo la mia applicazione CUDA in un .so con il seguente comando:

nvcc -arch=sm_11 -o libtest.so --shared -Xcompiler -fPIC main.cu 

Quando provo e compilare il mio file wrapper di c con il seguente comando:

gcc -std=c99 -o main -L. -ltest main.c 

I visualizzato l'errore:

error: cuda_runtime.h: No such file or directory 

ho verificato che cuda_runtime.h è infatti presente in/usr/local/CUDA/include

+4

suppongo che voi dire/usr/local/CUDA/include. Hai provato ad aggiungere uno switch -I alla tua riga di comando gcc? Ad esempio: gcc -std = c99 -I/usr/local/cuda/include -o main -L. -ltest main.c –

+0

Grazie, ha funzionato! – skrieder

+1

Se non ti dispiace, per favore pubblicalo come risposta alla tua domanda. Allora accettalo o inviterò la risposta. Grazie. –

risposta

9

Utilizzando uno switch -I gcc permesso di trovare il file cuda_runtime.h:

gcc -std=c99 -I/usr/local/cuda/include -o main -L. -ltest main.c 
1

Se si utilizza CMake

find_package(CUDA REQUIRED) 
include_directories("${CUDA_INCLUDE_DIRS}") 
Problemi correlati