2011-06-14 42 views
2

所以我已經下載了NVIDIA CUDA庫,並把它們在默認位置:PyOpenCL通過「easy_install」安裝時找不到包含文件。

/usr/local/cuda 

當我去運行這個命令:

sudo easy_install pyopencl 

它給我這個錯誤:

In file included from src/wrapper/wrap_cl.cpp:1:0: 
src/wrapper/wrap_cl.hpp:20:19: fatal error: CL/cl.h: No such file or directory 

但是,我可以,但是,驗證上面的文件確實與其他幾個頭文件一起存在:

/usr/local/cuda/include/CL/cl.h 

我甚至嘗試設置LD_LIBRATH_PATH:

export LD_LIBRARY_PATH=/usr/local/cuda/lib 

但它似乎沒有任何效果。

任何幫助表示讚賞!

回答

3

您的編譯器的include路徑可能不包含/ usr/local/cuda/include /。環境變量LD_LIBRARY_PATH實際上是告訴編譯器/運行時環境在哪裏找到共享對象文件。有兩種方法可以解決這個問題:

1)大多數編譯器接受一個標誌,指定對包含路徑的添加; gcc的,它是-I,所以

gcc -I /usr/local/cuda/include [code files, more options, etc] 

會告訴GCC來尋找包括在/ usr /本地/ CUDA /包括,除了系統包括路徑

2)鏈接的OpenCL頭文件進入你的系統包含路徑(通常是/ usr/include /)。 喜歡的東西:

# ln -s /usr/local/cuda/include/CL CL 

從/ usr/include目錄應該工作目錄內執行。

如果解決這個問題之後,你有一個像下面這樣的問題:

/usr/bin/ld: cannot find -lOpenCL 

,那麼你可能想看看this question

+0

這樣做,非常感謝!而且,我必須在提供的鏈接中進行額外的步驟。它已安裝並正在運行。謝謝! – aimzies 2011-06-15 15:45:28

相關問題