2013-12-14 3 views
3

Я пытаюсь включить скомпилированные (MSVC2012) OpenCV статических библиотеки в Qt Creator, но я не уверен, что включает в себя путь примерно в соответствии с этим изображением: http://i.stack.imgur.com/Pmsqq.pngВключить путь для добавления внешней библиотеки в Qt Creator?

Вот изображение из скомпилированных OpenCV файлов, Я скачал: http://i.stack.imgur.com/vNRNt.png

Существует 3 каталога: bin содержит библиотеки DLL, lib содержит файлы с небольшим объемом (2 kb), так что QtCreator может понимать библиотеки DLL, а staticlib содержит большие файлы lib (1 mb), которые являются статическими библиотеками, которые Я пытаюсь установить связь.

Файл библиотеки/путь что-то вроде C:\opencv\build\x86\vc11\staticlib\opencv_features2d247d.lib, правильно? Есть примерно 50 файлов lib. Нужно ли мне каждый из них вручную?

+2

путь включения - это расположение заголовков библиотеки. Если есть папка youropencvinstall/include/opencv/opencv.h (это пример, я не знаю макет OpenCV там), путь включения будет youropencvinstall/include /. С вашего скриншота похоже, что вам не хватает входящих. –

+0

Спасибо. Я понял. – user3103152

ответ

6

См. Документацию для include path и libs.

Также обратите внимание, что вам нужно связать файлы, заканчивающиеся на «d» в сборке отладки, а остальные в выпуске (также если вы используете сборки x86 и x64, вы должны использовать правильные библиотеки), вот пример из теста .pro (я использую только x86 и VC10):

INCLUDEPATH += D:\\ProgrammingTools\\opencv\\build\\include 

CONFIG(debug, debug|release) { 
LIBS += -LD:\\ProgrammingTools\\opencv\\build\\x86\\vc10\\lib\ 
    -lopencv_core246d\ 
    -lopencv_highgui246d\ 
    -lopencv_imgproc246d\ 
    -lopencv_features2d246d\ 
} 
else { 
LIBS += -LD:\\ProgrammingTools\\opencv\\build\\x86\\vc10\\lib\ 
    -lopencv_core246\ 
    -lopencv_highgui246\ 
    -lopencv_imgproc246\ 
    -lopencv_features2d246\ 
} 

Обратите внимание, что есть -L__NO_SPACE_ PATHTOLIB и -l _NOSPACE__libname, вам не нужно, чтобы добавить все Lib файлы, вы только добавить те, которые вы используете из функций, а также образцы включают в себя такие файлы:

#include <opencv2/opencv.hpp> 

поэтому путь включения заканчивается в папке, которая содержит две папки (а не фактические файлы заголовков).

Смежные вопросы