0

Ubuntu 12.04 64bit で 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 に、通常の .pc ファイルのようなライブラリの場所の省略形 "-llib" 形式が含まれていない理由がわかりません。何か案は??

4

1 に答える 1

0

pkg-configが提供するライブラリヘッダーの場所を含める必要があります

pkg-config opencv --cflags

私にとって、出力は

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

それを追加すれば、うまくいくはずです

于 2012-07-12T06:33:28.453 に答える