Error: cuda_runtime.h: Нет такого файла или каталога

Как заставить gcc искать /usr/cuda/local/include для cuda_runtime.h?

Я пытаюсь скомпилировать приложение CUDA с оберткой C. Я запускаю Ubuntu 10.04.

Я успешно скомпилировал свое приложение CUDA в .so со следующей командой:

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

Когда я пытаюсь скомпилировать мой файл оболочки c следующей командой:

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

Я получаю сообщение об ошибке:

error: cuda_runtime.h: No such file or directory

Я проверил, что cuda_runtime.h действительно присутствует в/usr/local/cuda/include

Ответ 1

С помощью -I-переключателя разрешено gcc находить файл cuda_runtime.h:

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

Ответ 2

Если вы используете CMake

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