一切正常,但我刚刚尝试在 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