Comment puis-je forcer gcc à regarder dans/usr/cuda/local/include pour cuda_runtime.h?
J'essaie de compiler une application CUDA avec un wrapper en C. J'utilise Ubuntu 10.04.
J'ai compilé avec succès mon application CUDA en un fichier .so à l'aide de la commande suivante:
nvcc -Arch=sm_11 -o libtest.so --shared -Xcompiler -fPIC main.cu
Lorsque j'essaie de compiler mon fichier wrapper c avec la commande suivante:
gcc -std=c99 -o main -L. -ltest main.c
Je reçois l'erreur:
error: cuda_runtime.h: No such file or directory
J'ai vérifié que cuda_runtime.h est bien présent dans/usr/local/cuda/include
Utiliser un paramètre -I permettait à gcc de trouver le fichier cuda_runtime.h:
gcc -std=c99 -I/usr/local/cuda/include -o main -L. -ltest main.c
Si vous utilisez CMake
find_package(CUDA REQUIRED)
include_directories("${CUDA_INCLUDE_DIRS}")
Ajoutez -isystem /usr/local/cuda-8.0/include
à CXX_INCLUDES dans le fichier flags.make.