1

ARM で OpenCV を使用して C コードをコンパイルしようとしています。コンパイルしようとすると、次のフラグを使用しています

-L/usr/lib
-lpthread
-lrt
-l
-I/usr/local/include/opencv
-I/usr/local/include
-L/usr/local/lib
-lopencv_core
-lopencv_imgproc
-lopencv_highgui
-lopencv_ml
-lopencv_video
-lopencv_features2d
-lopencv_calib3d
-lopencv_objdetect
-lopencv_contrib
-lopencv_legacy
-lopencv_flann

そして、私はこのエラーを受け取ります:

cannot find -lopencv_core
cannot find -lopencv_imgproc
cannot find -lopencv_flann

私のpkg-config --cflagsopencv:

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

そしてpkg-config --libsopencv:

-L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann 

ここで何が問題なのですか?前もって感謝します。

4

1 に答える 1

2

コンパイル行は、静的ライブラリにリンクしていることを意味するため、.so (.shared オブジェクト) ではなく .a ファイルが必要です。見る:

静的/動的ライブラリへのリンク。

多分役に立つ情報のために。Linux 向けですが、Linux 固有ではありません。コンパイラフラグは同じかもしれませんが、llvmではなくgccを使用していると思います。

于 2012-04-17T08:55:44.947 に答える