2011-06-14 46 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

相关问题