Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu 奇怪的opencv.pc(pkg config)文件_Ubuntu_Opencv - Fatal编程技术网

Ubuntu 奇怪的opencv.pc(pkg config)文件

Ubuntu 奇怪的opencv.pc(pkg config)文件,ubuntu,opencv,Ubuntu,Opencv,我在Ubuntu 12.04 64位上构建了opencv。如果发出以下命令,我可以链接到opencv库: g++ `pkg-config opencv --cflags` my_code.cpp -o my_code `pkg-config opencv --libs` gcc -g -O2 -W -Wall -Wno-unused -Wno-multichar -o main main.o -lcxcore -lcv -lhighgui -lcvaux 但是,如果我发出以下命令:

我在Ubuntu 12.04 64位上构建了opencv。如果发出以下命令,我可以链接到opencv库:

g++ `pkg-config opencv --cflags` my_code.cpp  -o my_code `pkg-config opencv --libs` 
gcc -g -O2 -W -Wall -Wno-unused -Wno-multichar  -o main main.o -lcxcore -lcv -lhighgui -lcvaux 
但是,如果我发出以下命令:

g++ `pkg-config opencv --cflags` my_code.cpp  -o my_code `pkg-config opencv --libs` 
gcc -g -O2 -W -Wall -Wno-unused -Wno-multichar  -o main main.o -lcxcore -lcv -lhighgui -lcvaux 
我得到:

/usr/bin/ld: cannot find -lcxcore
/usr/bin/ld: cannot find -lcv
/usr/bin/ld: cannot find -lhighgui
/usr/bin/ld: cannot find -lcvaux
collect2: ld returned 1 exit status
要解决我发布的问题,请执行以下操作:

pkg-config --libs opencv 
得到:

/usr/local/lib/libopencv_calib3d.so/usr/local/libopencv_contrib.so/usr/local/libopencv_core.so/usr/local/lib/libopencv_features2d.so/usr/local/libopencv_flann.so/usr/local/libopencv_gpu.so/usr/local/libopencv\u highgui.so/usr/local/libopencv/libopencv\u imgproc.so/usr/local/libopencv/lib/lib/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/libopencv_stching.so/usr/local/libopencv_ts.so/local/libopencv_video.so/usr/local/libopencv\u videostab.so


我想这就解释了这个问题,但我不明白为什么opencv.pc没有像普通的.pc文件那样包含库位置的速记llib格式。有什么想法吗?

您需要包括pkg config提供给您的库头的位置

pkg-config opencv --cflags
对我来说,输出是

-I/usr/local/include/opencv-I/usr/local/include

如果你加上这个,它应该可以正常工作