我一直在尝试在 linux 中使用 g++ 编译 opencv 示例代码的一些示例时遇到问题,但我在运行后收到此错误消息:
g++ `pkg-config --cflags --libs opencv` hello.cpp -o hello
我得到这个输出:
/tmp/ccjvVxLI.o: In function `main':
hello.cpp:(.text+0x45): undefined reference to `cvLoadImage'
hello.cpp:(.text+0x6b): undefined reference to `cvNamedWindow'
hello.cpp:(.text+0x7c): undefined reference to `cvShowImage'
hello.cpp:(.text+0x86): undefined reference to `cvWaitKey'
hello.cpp:(.text+0x90): undefined reference to `cvDestroyWindow'
collect2: ld returned 1 exit status
我在网上查看并检查了我的 OpenCV 安装,我得到了以下的正常输出:
pkg-config --cflags opencv
作为:
-I/usr/local/include/opencv -I/usr/local/include
但是当我跑的时候:
pkg-config --libs opencv
我有一个奇怪的列表,看起来像这样:
/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
如果有帮助,我在这个站点的帮助下在 ubuntu LTS 12.04 上安装了 Opencv2.4.1:http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/
最佳答案
试试这个:
g++ `pkg-config --cflags opencv` -o hello hello.cpp `pkg-config --libs opencv`
关于linux - 无法在linux中编译opencv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11532963/