Путь include вашего компилятора, вероятно, не включает / usr / local / cuda / include /. Переменная окружения LD_LIBRARY_PATH фактически указывает компилятору / среде выполнения, где искать разделяемые объектные файлы. Есть два способа (которые знают), чтобы исправить это:
1) Большинство компиляторов принимают флаг, который определяет дополнение к пути включения; для gcc это -I, так что
gcc -I /usr/local/cuda/include [code files, more options, etc]
сообщит gcc, что нужно искать include в / usr / local / cuda / include, в дополнение к системному пути include
2) Свяжите заголовочные файлы OpenCL с вашим системным включаемым путем (обычно / usr / include /).
Что-то вроде:
# ln -s /usr/local/cuda/include/CL CL
, выполняемый из каталога / usr / include, должен работать.
Если после устранения этой проблемы возникла проблема, подобная следующей:
/usr/bin/ld: cannot find -lOpenCL
тогда вы можете посмотреть на этот вопрос .