2011-02-02 10 views
5

Mam projekt, który wymaga opencl. Mam zainstalowany CUDA i OpenCL na moim komputerze, ale kiedy „make” mój projekt następujący błąd:cl.h nie znaleziono - jak utworzyć łącze w makefile

CL/cl.h: No such file or directory 

wiem, że mogę stworzyć dowiązanie twarde (w moim systemie Unix (Ubuntu)), aby rozwiązać Problem:

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

Ale uważam to za szybką naprawę, a nie za poprawne rozwiązanie. Chciałbym poradzić sobie z tym w moim makefile (jak sądzę), aby skompilować proste polecenie "make". Jak mogłem to zrobić?

Odpowiedz

5

Musisz przekazać odpowiednią opcję -I do kompilatora (ustawiając na przykład CPPFLAGS lub CFLAGS). -I/usr/include/nvidia-current brzmi, jakby to działało.

+0

Skończyło się na dodaniu go do oddzielnej obsługi plików INCLUDEPATHS dla tego konkretnego modułu. Ale zweryfikowali, że twoja opcja działa również i naprawdę jest to, o co prosiłem. Dlatego przyjęto twoją odpowiedź jako ostateczną. Dzięki. – bastijn

+0

Dzięki, pomogło mi to w kompilacji karty z nową serią 200 sterowników nvidia. (Nie ma jeszcze pakietu debian, który dostarcza plik nagłówkowy CL/cl.h.) –

+0

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

1

Widziałem ten wątek od compile opencl program using CL/cl.h file

zainstalowałem 7.5 i dodał link poniżej w/usr/include, to działa na moim programie OpenCL. wygląda jak CUDA zapomnij zaimplementować ten link po instalacji.

ln -s /usr/local/cuda-7.5/include/CL /usr/include 
Powiązane problemy