我知道之前已经提出了类似的问题,但没有一项建议有所帮助。
我正在尝试在Ubuntu 15.10中使用C ++编译OpenCV项目。我可以在Netbeans中正确运行项目。但我应该将此发送给将使用命令行的人。我可以使用以下行编译程序:
g++ -ggdb -o convert *.cpp \`pkg-config --cflags --libs opencv\`
其中convert
是可执行文件的所选名称。执行此行后没有问题。但是当我跑步时
./convert "image1.tif" "image2.tif"
我明白了:
./convert: error while loading shared libraries: libopencv_imgcodecs.so.3.2: cannot
open shared object file: No such file or directory
在我的.cpp文件中,我有:
#include "/usr/local/include/opencv2/highgui/highgui.hpp"
文件libopencv_imgcodecs.so.3.2
位于我的/usr/local/lib
文件夹中。我尝试将-L/usr/local/lib
放在命令行中,但这没有帮助。也许这个文件路径需要在命令行中按特定顺序进行? pkg-config --cflags --libs opencv
的顺序很重要,它必须在-o convert * .cpp之后。
答案 0 :(得分:0)
为方便起见,正如第一条评论所述,您只需要:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
如果您的CMAKE_INSTALL_PREFIX=/usr/local