4

一切正常,但我刚刚尝试在 NetBeans 的 Linux Ubuntu 12.10 上运行我的 CUDA 程序,但出现错误:

dist/Debug/GNU-Linux-x86/my_cuda_1:加载共享库时出错:libcudart.so.5.0:无法打开共享对象文件:没有这样的文件或目录

RUN FAILED(退出值127,总时间: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

这不是::有问题吗?似乎没有,因为我改变了这个并且仍然是同样的错误。我指定 PATHS,我运行 ldconfig,我把导出放在 .bashrc 中,仍然没有。原因是如果程序是从 NetBeans GUI 启动的,我无法加载这些库,但是我总是以 root 身份启动 NetBeans

4

1 回答 1

9

添加到项目 -> 属性 -> 运行 -> 环境

名称:LD_LIBRARY_PATH

值:$LD_LIBRARY_PATH:/usr/lib/nvidia-current:/usr/local/cuda-5.0/lib:/usr/local/cuda-5.0/lib64:/lib

谢谢你们。我不知道之前发生了什么,因为它工作得很好。

于 2013-03-12T21:01:41.873 回答