制作Cuda SDK时出现“找不到-lOpenCL”错误

我有一台带有nVidia gt 520m的华硕笔记本,并考虑过在Ubuntu 11.10上尝试一些OpenCL编程(第一次)。 我安装了nvidia-current-dev软件包。 因此,我在/ usr / lib / nvidia-current /文件夹中找到了libOpenCL.so等:

$razvan@...:~$ locate libOpenCL.so /usr/lib/nvidia-current/libOpenCL.so /usr/lib/nvidia-current/libOpenCL.so.1 /usr/lib/nvidia-current/libOpenCL.so.1.0 /usr/lib/nvidia-current/libOpenCL.so.1.0.0 /usr/lib32/nvidia-current/libOpenCL.so /usr/lib32/nvidia-current/libOpenCL.so.1 /usr/lib32/nvidia-current/libOpenCL.so.1.0 /usr/lib32/nvidia-current/libOpenCL.so.1.0.0 

然后我从nVidia网站和NVIDIA GPU SDK(在/ opt / gpu_sdk)安装了用于Ubuntu 10.10的CUDA工具包。

当我去/ opt / gpu_sdk / OpenCL并尝试make命令时,我得到:

 razvan@...:/opt/gpu_sdk/OpenCL$ make make[1]: Entering directory `/opt/gpu_sdk/OpenCL/common' a - obj/release/oclUtils.cpp.o make[1]: Leaving directory `/opt/gpu_sdk/OpenCL/common' make[1]: Entering directory `/opt/gpu_sdk/shared' make[1]: Leaving directory `/opt/gpu_sdk/shared' make -C src/oclConvolutionSeparable/ make[1]: Entering directory `/opt/gpu_sdk/OpenCL/src/oclConvolutionSeparable' /usr/bin/ld: cannot find -lOpenCL collect2: ld returned 1 exit status make[1]: *** [../../..//OpenCL//bin//linux/release/oclConvolutionSeparable] Error 1 make[1]: Leaving directory `/opt/gpu_sdk/OpenCL/src/oclConvolutionSeparable' make: *** [src/oclConvolutionSeparable/Makefile.ph_build] Error 2 

Afeter安装了nvidia-current-dev软件包我去了/etc/ld.so.conf.d/并创建了nvidia-current.conf,我指定了/ usr / lib / nvidia-current和/ usr / lib32 / nvidia-current 。 然后我使用ldconfig缓存新位置。

不用说,它没有用。 我还将/ usr / lib / nvidia-current和/ usr / lib32 / nvidia-current附加到LD_LIBRARY_PATH环境变量中,希望能够工作……它不起作用。

不能具体设置与/ usr / bin / ld相关的LD_LIBRARY_PATH。

应该设置LIBRARY_PATH这是gnu编译器的正确环境变量(在此处使用)。

无论LD_LIBRARY_PATH和LIBRARY_PATH之间的连接是什么(或者在这种情况下ld和gcc以及为什么gcc不使用ld可执行文件..

在这里查看LIBRARY_PATHLD_LIBRARY_PATH说明: 点击这里

在程序执行时编译LD_LIBRARY_PATH时检查LIBRARY_PATH