2011-02-02 14 views
5

Ho un progetto che richiede opencl. Ho installato CUDA e OpenCL sulla mia macchina, ma quando ho 'fare' il mio progetto verifica il seguente errore:cl.h non trovato - come collegarsi a makefile

CL/cl.h: No such file or directory 

so che la posso creare un collegamento fisso (nel mio sistema Unix (Ubuntu)) per fissare il problema:

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

Ma io considero questo una soluzione rapida e non la soluzione corretta. Mi piacerebbe gestirlo nel mio makefile (credo) in modo da compilare un semplice comando "make". Come potrei farlo?

risposta

5

È necessario passare un'opzione -I appropriata al compilatore (impostando CPPFLAGS o CFLAGS, ad esempio). -I/usr/include/nvidia-current sembra che funzioni.

+0

Ho finito per aggiungerlo a un file separato che gestisce INCLUDEPATHS per quel modulo specifico. Ma ho verificato che la tua opzione funziona altrettanto bene ed è davvero la cosa che ho originariamente chiesto. Perciò accettò la tua risposta come definitiva. Grazie. – bastijn

+0

Grazie, questo mi ha aiutato a compilare darktable con la nuova serie 200 dei driver nvidia. (Non esiste ancora un pacchetto debian che fornisca il file di intestazione CL/cl.h.) –

+0

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

1

ho visto questa discussione da compile opencl program using CL/cl.h file

ho installato 7.5 e ha aggiunto di seguito il link in/usr/include, funziona per il mio programma OpenCL. sembra che CUDA dimentichi di implementare questo link dopo l'installazione.

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

Stai usando Ubuntu o Debian distro? Quindi ora puoi utilizzare questo pacchetto:

sudo apt-get install opencl-headers 
Problemi correlati