我知道以前有类似的问题被问过,但是那些建议都没有帮到我。
我正在尝试在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
之后。