1

これはタフです!これを初心者の質問と間違えないでください;)私はこのOpenCV+MinGW静的なもので単純な間違いのためにあまりにも多くのマイルを持っています....

環境:a。Qt 5.0.1はMinGW(qt-projectからの標準のオープンソースダウンロード)で構築されているため、すべてが同じMinGW環境で構築されています。b。CMakeを使用して、最小限のビルドをセットアップし(Qtと同じg ++ / gccを使用)、SHARED_LIBRARIESをオフにしました。c。生成されたcmake+mingw32-make+mingw32-makeインストールは正常に機能します。

ここまではすべてがかなりスムーズに見えます...

今私が追加したとき:

win32-g++:INCLUDEPATH += D:/Dev/opencv/build/install/include
win32-g++:LIBS += -LD:/Dev/opencv/build/install/lib
win32-g++:LIBS += -static
win32-g++:LIBS += -llibopencv_core243d
win32-g++:LIBS += -llibopencv_imgproc243d
win32-g++:LIBS += -llibopencv_highgui243d

(また、「win32-g ++」の追加なしで..)

私は得るd:/dev/qt/qt5.0.1/tools/mingw/bin/../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -llibopencv_highgui243d

...
...

今..正しいディレクトリにlibopencv_highgui243d.aがありますが、ld.exeリンカーはlib以外のものを無視しています!これはMSライブラリであるはずです(そもそも避けたかったのです!!!)-.aファイルの名前を.libに変更しようとしたため、リンカーはファイルを考慮しましたが、多くの「参照されていない」エラーが表示されました..。。

では、誰のせいですか?リンカー?CMake?mingw?Qt?...。

多くのコマンドライン/フラグオプションを試しましたが、成功しませんでした。

4

1 に答える 1

2

ライブラリは次のように参照する必要があります。

LIBS += -lopencv_core243d
LIBS += -lopencv_imgproc243d
LIBS += -lopencv_highgui243d

名前の先頭にすでにlib-lを挿入しているので。

于 2013-02-17T23:00:45.817 に答える