这是一个有点新手的问题。我正在尝试将OpenCV库添加到QT项目中。
This question说链接标志是由
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
发布于 2010-08-19 08:04:22
CONFIG += link_pkgconfig
PKGCONFIG += opencv
(我从http://beaufour.dk/blog/2008/02/using-pkgconfig.html那里得到了这个答案)
发布于 2010-10-28 02:59:43
Ken的回答效果很好。我只需要先删除+=两边的空格。
CONFIG+=link_pkgconfig PKGCONFIG+=opencv
发布于 2017-10-18 00:17:09
在较新版本的Qt中,需要这样做以避免软件包找不到错误:
QT_CONFIG -= no-pkg-config
CONFIG += link_pkgconfig
PKGCONFIG += protobuf #or whatever package here
我也不得不为Mac这样做:
mac {
PKG_CONFIG = /usr/local/bin/pkg-config
}
https://stackoverflow.com/questions/3517694
复制相似问题