Ответ 1
CONFIG += link_pkgconfig
PKGCONFIG += opencv
(Я получил этот ответ от http://beaufour.dk/blog/2008/02/using-pkgconfig.html)
Это немного вопрос новичков. Я пытаюсь добавить библиотеки OpenCV в проект QT.
Этот вопрос говорит, что флаги ссылок даны
pkg-config --libs opencv
Если я вставляю вывод командной строки в файл проекта, например:
LIBS += -L/usr/local/lib -lml -lcvaux -lhighgui -lcv -lcxcore
тогда все компилируется отлично, но теперь это не переносимо. Как я могу просто ссылаться на вывод команды?
Обновление: Пробовал предложение Кена Блума, но он не будет компилироваться. Фактически созданные команды компилятора
# 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
CONFIG += link_pkgconfig
PKGCONFIG += opencv
(Я получил этот ответ от http://beaufour.dk/blog/2008/02/using-pkgconfig.html)
Кен ответ работал отлично. Я просто должен был удалить пробелы с обеих сторон + = в первую очередь.
CONFIG+=link_pkgconfig PKGCONFIG+=opencv
Что-то вроде этого в вашем файле qmake должно делать
LIBS += `pkg-config --libs opencv`
Изменить: Хм, ответ Кена Блума может быть более переносимым, но erhm не задокументирован?
Добавьте следующие строки в файл .pro:
INCLUDEPATH += `pkg-config --cflags opencv`
LIBS += `pkg-config --libs opencv`
В новой версии Qt это нужно сделать, чтобы избежать ошибки, не найденной в пакете:
QT_CONFIG -= no-pkg-config
CONFIG += link_pkgconfig
PKGCONFIG += protobuf #or whatever package here
Также нужно было сделать это для Mac:
mac {
PKG_CONFIG = /usr/local/bin/pkg-config
}