Ответ 1
С помощью -I-переключателя разрешено gcc находить файл cuda_runtime.h:
gcc -std=c99 -I/usr/local/cuda/include -o main -L. -ltest main.c
Как заставить 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
С помощью -I-переключателя разрешено gcc находить файл cuda_runtime.h:
gcc -std=c99 -I/usr/local/cuda/include -o main -L. -ltest main.c
Если вы используете CMake
find_package(CUDA REQUIRED)
include_directories("${CUDA_INCLUDE_DIRS}")