我对 NetBeans 有疑问:
一切正常,但我刚刚尝试在 NetBeans 中的 Linux Ubuntu 12.10 上运行我的 CUDA 程序,但出现错误:
dist/Debug/GNU-Linux-x86/my_cuda_1: error while loading shared libraries: libcudart.so.5.0: cannot open shared object file: No such file or directory
RUN FAILED (exit value 127, total time: 191ms)
项目可以构建:编译 + 链接,没有任何问题,我也可以从命令行运行它,但如果我尝试从 NetBeans 运行它,我会收到此错误。几分钟前我能够运行它,可能发生了什么?
我已将文件 my_lib 添加到 ld.so.conf.d,其中包含以下文本:
/usr/local/cuda-5.0/lib64:/lib
/usr/lib
/usr/lib64
这可能是链接问题 libcudart.so.5.0 -> licudart.so?cuda/lib 中有两个库 libcudart.so.5.0 (链接) 和 libcudart.so (链接) 以及 libcudart.so.5.0.35 (共享库) 为什么它会抱怨 .so.5.0?可能需要类似这样的链接:sudo ln -s /usr/lib/x86_64-linux-gnu/libglut.so.3 /usr/lib/libglut.so 是必需的
我认为它与共享库链接有关
root @ comp:# echo $ LD_LIBRARY_PATH /usr/lib/nvidia-current:/usr/local/cuda-5.0/lib::/usr/local/cuda-5.0/lib64:/lib
这::这是个问题吗?
答案1
已解决: 已解决:
添加到项目->属性->环境
名称:LD_LIBRARY_PATH
值:$LD_LIBRARY_PATH:/usr/lib/nvidia-current:/usr/local/cuda-5.0/lib:/usr/local/cuda-5.0/lib64:/lib
但我不知道发生了什么,因为它之前有效