编译并链接,警告未找到 libpcre.so.1

dzq*_*qiu 1 linux ubuntu opencv g++

当我用 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)
Run Code Online (Sandbox Code Playgroud)

我很困惑为什么它会链接 anaconda2 中的库?我检查了 libgobject-2.0.so.0,发现它可能没问题:

在此处输入图片说明

但是当我运行时rpm -ql pcre,它显示:

package pcre is not installed
Run Code Online (Sandbox Code Playgroud)

我尝试安装libpcre3,但它显示libpcre3已经是最新版本(2:8.38-3.1),但不在/lib64、/lib/、usr/local/lib/中,我尝试链接libpcre。 so.1 来自 anaconda2,但它不起作用。

我还添加了 -L 来链接 OpenCV 的库(/usr/local/lib/)或 anaconda2 的库,但它不起作用。

有什么建议可以解决吗?

dzq*_*qiu 7

我遇到了类似的问题,尝试将 anaconda 的 lib 添加到LD_LIBRARY_PATH

$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:<your anaconda>/lib" 
Run Code Online (Sandbox Code Playgroud)

也许它可以解决它。