【问题标题】:strange opencv.pc (pkg-config) file奇怪的 opencv.pc (pkg-config) 文件
【发布时间】:2012-07-11 17:11:57
【问题描述】:

我在 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 

我明白了:

/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/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

我想这可以解释问题,但我不明白为什么 opencv.pc 不包含用于库位置的简写“-llib”格式,如通常的 .pc 文件。有什么想法吗??

【问题讨论】:

    标签: ubuntu opencv


    【解决方案1】:

    您需要包含 pkg-config 为您提供的库头文件的位置

    pkg-config opencv --cflags
    

    对我来说,输出是

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

    如果你添加它,它应该可以正常工作

    【讨论】:

      猜你喜欢
      • 2019-02-27
      • 1970-01-01
      • 2015-02-24
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多