【发布时间】:2018-05-18 19:12:59
【问题描述】:
当我使用 CUDA 和 OPenCV 编译程序时,只需编译(使用 -c)即可,但在链接时会出现警告:
/usr/local/cuda-9.0/bin/nvcc -ccbin g++ -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -m64 -I /usr/local/include -I /usr/local/include/opencv -I /usr/local/include/opencv2 -lopencv_core -lopencv_highgui -lopencv_imgproc -o rgb smooth_tex.cu
5 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -m64 -I /usr/local/include -I /usr/local/include/opencv -I /usr/local/include/opencv2 -lopencv_core -lopencv_highgui -lopencv_imgproc -o rgb smooth_tex.cu
/usr/bin/ld: warning: libpcre.so.1, needed by //home/dzqiu/anaconda2/lib/libgobject-2.0.so.0, not found (try using -rpath or -rpath-link)
我很困惑为什么它会链接 anaconda2 中的库?我检查了 libgobject-2.0.so.0,发现它可能没问题:
但是当我运行rpm -ql pcre 时,它显示:
package pcre is not installed
我尝试安装libpcre3,但显示libpcre3已经是最新版本(2:8.38-3.1),但不在/lib64,/lib/,usr/local/lib/下,我尝试链接来自anaconda2的libpcre.so.1,但它不起作用。
我还添加了 -L 来链接 OpenCV 的库(/usr/local/lib/)或 anaconda2 的库,但它不起作用。
有什么修复建议吗?
【问题讨论】:
-
不确定这是否会解决它,但通常你需要库的开发部分来编译...例如 libpcre3-dev...我不记得 OpenCV 需要这个库(也许我错了)
-
非常感谢。我已经安装了libpcre3-dev,libpcre3,但是也出现了警告。
-
现在我遇到了类似的问题,我只需将 lib 添加到 LD_LIBRARY_PATH,它就可以了。我认为将 anaconda 的库添加到 LD_LIBRARY_PATH 可以解决问题,但是我再次安装了系统,所以问题消失了。如果有人遇到这种警告,请尝试导出 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:
/lib" -
添加为答案,这样其他人可以轻松找到解决此问题的方法