2011-02-02 23 views
5

Tengo un proyecto que requiere opencl. He instalado CUDA y OpenCL en mi máquina, pero cuando 'hacer' mi proyecto se produce el siguiente error:cl.h no encontrado - cómo vincular en makefile

CL/cl.h: No such file or directory 

sé que la puedo crear un vínculo físico (en mi sistema UNIX (ubuntu)) para fijar el problema:

ln -s /usr/include/nvidia-current/CL 

Pero considero que esto es una solución rápida y no la solución correcta. Me gustaría manejar esto en mi makefile (supongo) para que se compile un simple comando "make". ¿Cómo podría hacer esto?

Respuesta

5

Debe pasar una opción -I apropiada al compilador (configurando CPPFLAGS o CFLAGS, por ejemplo). -I/usr/include/nvidia-current parece que funcionaría.

+0

Terminé agregándolo a un archivo separado que maneja INCLUDEPATHS para ese módulo específico. Pero verifiqué que tu opción sí funciona y es lo que originalmente pedí. Por lo tanto, aceptó su respuesta como definitiva. Gracias. – bastijn

+0

Gracias, esto me ayudó a compilar darktable con la nueva serie 200 de los controladores nvidia. (Todavía no hay ningún paquete Debian que entregue el archivo de encabezado CL/cl.h). –

+0

@Simon A. Eugster: http://packages.debian.org/experimental/opencl-headers – derobert

1

vi este hilo desde compile opencl program using CL/cl.h file

he instalado 7.5 y añade a continuación enlace en/usr/include, funciona para mi programa OpenCL. parece que CUDA olvida implementar este enlace después de la instalación.

ln -s /usr/local/cuda-7.5/include/CL /usr/include 
0

¿Está utilizando Ubuntu o Debian distro? Entonces ahora puede usar este paquete:

sudo apt-get install opencl-headers