28

これは少し初心者の質問です。OpenCV ライブラリを QT プロジェクトに追加しようとしています。

この質問は、リンクフラグが

pkg-config --libs opencv

コマンド ライン出力を次のようにプロジェクト ファイルに貼り付ける場合:

LIBS += -L/usr/local/lib -lml -lcvaux -lhighgui -lcv -lcxcore

その後、すべてが正常にコンパイルされますが、これは移植性がありません。コマンドの出力を簡単に参照するにはどうすればよいですか?

更新: Ken Bloom の提案を試しましたが、コンパイルできません。実際に生成されるコンパイラ コマンドは次のとおりです。

# How it should be, at least on my machine
g++ -o QOpenCVTest main.o qopencvtest.o moc_qopencvtest.o -L/usr/lib -L/usr/local/lib -lml -lcvaux -lhighgui -lcv -lcxcore -lQtGui -lQtCore -lpthread

# with CONFIG and PKGCONFIG
g++ -o QOpenCVTest main.o qopencvtest.o moc_qopencvtest.o -L/usr/lib -lQtGui -lQtCore -lpthread
4

5 に答える 5

42
CONFIG += link_pkgconfig
PKGCONFIG += opencv

( http://beaufour.dk/blog/2008/02/using-pkgconfig.htmlからこの回答を得ました)

于 2010-08-19T00:04:22.237 に答える
10

ケンの答えはうまくいきました。最初に += の両側のスペースを削除する必要がありました。

CONFIG+=link_pkgconfig PKGCONFIG+=opencv
于 2010-10-27T18:59:43.153 に答える
4

qmakeファイルでこのようなことをする必要があります

LIBS += `pkg-config --libs opencv`

編集:うーん、ケンブルームの答えはもっと移植性があるかもしれませんが、えーと文書化されていませんか?

于 2010-08-19T00:07:27.803 に答える
3

次の行を .pro ファイルに追加します。

INCLUDEPATH += `pkg-config --cflags opencv`
LIBS += `pkg-config --libs opencv`
于 2012-08-20T00:41:48.950 に答える