OpenCV 2.3 & Code :: Блокирует вопросы по настройке небольших фреймворков - PullRequest
2 голосов
/ 12 февраля 2012

Я пытаюсь настроить небольшой фреймворк для opencv 2.3.x с помощью компилятора mingw в Code :: Blocks.

Я хочу, чтобы инфраструктура была перенесена с компьютера на компьютер (несколько разработчиков) - что-то вроде микро-версии openFrameworks.

Теперь я настроил дерево каталогов следующим образом:

- root
- - Datafiles
- - Libraries
- - - OpenCV
- - - - bin
- - - - lib
- - - - include
- - Projects
- - - OpenCV_HelloWorld
- - - - OpenCV_HelloWorld.cbp

Из-за возможности перемещения я хочу определить путь к библиотеке и включить папку относительно. Я настроил следующие параметры сборки для моего проекта Code :: Blocks:

Параметры сборки -> Отладка -> Поиск по каталогам -> Компилятор:

..\..\Libraries\OpenCV\include

Параметры сборки -> Отладка -> Поиск по каталогам -> Линкер:

..\..\Libraries\OpenCV\lib

Параметры сборки -> Отладка -> Настройки компоновщика -> Библиотеки ссылок:

..\..\Libraries\OpenCV\lib\libopencv_calib3d231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_contrib231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_core231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_features2d231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_flann231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_gpu231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_highgui231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_imgproc231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_legacy231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_ml231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_objdetect231.dll.a
..\..\Libraries\OpenCV\lib\libopencv_video231.dll.a

Когда я собираю этот пример Hello World:

#include <iostream>
#include "opencv\cv.h"
#include "opencv\highgui.h"

using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    return 0;
}

Я получаю эту ошибку:

..\..\Libraries\OpenCV\include\opencv\cv.h|63|error: opencv2/core/core_c.h: No such file or directory|

Что я сделал не так? Что еще мне нужно включить? Есть ли более простой способ это сделать?

Спасибо всем заранее

1 Ответ

2 голосов
/ 22 февраля 2012

После некоторых исследований я нашел ответ на свой вопрос.

В библиотеке prebuild opencv 2.3.1 я обнаружил, что папка "includes" не содержит всех заголовочных файлов в папке "opencv2".

Эти включаемые файлы находятся в папке «modules».Поэтому вам нужно добавить эти поисковые каталоги в папку вашего проекта.

Еще один способ решения проблемы - следовать руководству на сайте opencv, чтобы самостоятельно собрать библиотеку с помощью cmake.После этого папка include содержит все необходимые файлы заголовков в правильном месте.

Проблема решена!

...