C++ openCV错误:未定义对“cvLoadImage';Ubuntu

C++ openCV错误:未定义对“cvLoadImage';Ubuntu,c++,c,opencv,ubuntu,image-processing,C++,C,Opencv,Ubuntu,Image Processing,我已经安装了openCV库,但仍然收到错误 $g++-I/usr/include/opencv/-L-lcxcore-lhighgui hello.cpp-o hello /tmp/ccjrbxr.o:在函数main'中: hello.cpp:(.text+0x2d):未定义对cvLoadImage' collect2:ld返回1个退出状态 当我检查库的路径时,我得到 $pkg配置--libs opencv -lml-lcvaux-lhighgui-lcv-lcxcore 我编写了一个非常简单的

我已经安装了openCV库,但仍然收到错误
$g++-I/usr/include/opencv/-L-lcxcore-lhighgui hello.cpp-o hello
/tmp/ccjrbxr.o:在函数
main'中:
hello.cpp:(.text+0x2d):未定义对
cvLoadImage'
collect2:ld返回1个退出状态

当我检查库的路径时,我得到
$pkg配置--libs opencv
-lml-lcvaux-lhighgui-lcv-lcxcore

我编写了一个非常简单的程序来测试它:

enter code here

#include< cv.h>  
#include< highgui.h> /* required to use OpenCV's highgui */
#include< stdio.h>

int main() { 
    IplImage* img = 0;
    printf("Hello\n");
    img = cvLoadImage("lena.jpg", 0 );
}
但当我跑步时:

$ pkg-config --cflags --libs opencv
-I/usr/local/include/opencv -I/usr/local/include
/usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_contrib.so 
/usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so 
/usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so 
/usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgproc.so 
/usr/local/lib/libopencv_legacy.so /usr/local/lib/libopencv_ml.so 
/usr/local/lib/libopencv_nonfree.so /usr/local/lib/libopencv_objdetect.so 
/usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_stitching.so 
/usr/local/lib/libopencv_ts.so /usr/local/lib/libopencv_video.so 
/usr/local/lib/libopencv_videostab.so  
$ g++ 'pkg-config --cflags --libs opencv' display_image.cpp
g++: error: pkg-config --cflags --libs opencv: No such file or directory

OpenCV似乎已安装,但问题仍然存在。

如果您使用的是highgui库
-lhighgui
,那么最好链接到它您使用了单引号
而不是
`
。这是正确的命令:

g++ hello.cpp -o hello `pkg-config --cflags --libs opencv` 

试试g++-g-omyprogname.cpp
pkg-config-opencv--cflags--libs

此命令:

g++ 'pkg-config --cflags --libs opencv' display_image.cpp
与此不同:

g++ `pkg-config --cflags --libs opencv` display_image.cpp
因为“和”字符

如果你不想弄乱那些角色,你可以用

g++ $(pkg-config --cflags --libs opencv) display_image.cpp

这更容易想象

对不起,我实际上已经输入了链接所有LIB,但在进入论坛时出错了。它仍然给出相同的错误:'**g++-I/usr/include/opencv/-L-lhighgui hello.cpp-o hello/tmp/ccw90mKu.o:In function
main':hello.cpp:(.text+0x2d):未定义对
cvLoadImage'collect2:ld返回1个退出状态'**@user1111044-那么它可能找不到库。如果使用“-L”,不需要指定目录吗?这可能会阻塞标准的LD_LIBRARY_路径搜索是的,这正是我面临的问题。我没有与-L一起使用的文件夹。它可能是
/usr/local/lib
,但是请看,没有..我已经尝试了所有这些。但是非常感谢马丁的帮助!