2012-10-31 33 views
11

Jak zmusić gcc do przeglądania/usr/cuda/local/include for cuda_runtime.h?error: cuda_runtime.h: Brak takiego pliku lub katalogu

Próbuję skompilować aplikację CUDA z opakowaniem C. Używam Ubuntu 10.04.

Mam pomyślnie skompilowany mojej aplikacji CUDA w .so za pomocą następującego polecenia:

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

Kiedy próbuję skompilować i mój c plik otoki za pomocą następującego polecenia:

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

I błąd:

error: cuda_runtime.h: No such file or directory 

Sprawdziłem, że cuda_runtime.h jest w rzeczywistości obecny w/usr/local/CUDA/include

+4

Zakładam, że oznaczać/usr/local/cuda/include. Czy próbowałeś dodać przełącznik -I do linii poleceń gcc? Na przykład: gcc -std = c99 -I/usr/local/cuda/include -o main -L. -ltest main.c –

+0

Dzięki, to zadziałało! – skrieder

+1

Jeśli nie masz nic przeciwko, opublikuj to jako odpowiedź na swoje pytanie. Następnie zaakceptuj to lub przekażę odpowiedź. Dziękuję Ci. –

Odpowiedz

9

Korzystanie -I przełącznik dozwolony gcc, aby znaleźć plik cuda_runtime.h:

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

Jeśli używasz CMake

find_package(CUDA REQUIRED) 
include_directories("${CUDA_INCLUDE_DIRS}") 
Powiązane problemy