Eclipse CDT не может найти файлы заголовков opencv 2 - PullRequest
0 голосов
/ 12 марта 2012

Я установил opencv 2.3.1 с macports и новейшим Eclipse CDT.Сейчас я пытаюсь скомпилировать этот код:

>     #include <iostream.h>
>     #include <cv.h> // or opencv.hpp, no difference
>     
>     int main(int argc, char **argv) {
>     
>     
>     }

Я сделал все шаги http://opencv.itseez.com/doc/tutorials/introduction/linux_eclipse/linux_eclipse.html, но вывод компилятора:

> make all  Building file: ../main.cpp Invoking: GCC C++ Compiler g++
> -I/opt/local/include/opencv -I/opt/local/include/opencv2 -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp" In file included from
> /usr/include/c++/4.2.1/backward/iostream.h:31,
>                  from ../main.cpp:8: /usr/include/c++/4.2.1/backward/backward_warning.h:32:2: warning:
> #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section
> 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of
> the deprecated header <iostream.h>. To disable this warning use
> -Wno-deprecated. In file included from ../main.cpp:9: /opt/local/include/opencv2/opencv.hpp:46:33: error:
> opencv2/core/core_c.h: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:47:33: error:
> opencv2/core/core.hpp: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:48:39: error:
> opencv2/flann/miniflann.hpp: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:49:39: error:
> opencv2/imgproc/imgproc_c.h: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:50:39: error:
> opencv2/imgproc/imgproc.hpp: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:51:35: error:
> opencv2/video/video.hpp: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:52:45: error:
> opencv2/features2d/features2d.hpp: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:53:43: error:
> opencv2/objdetect/objdetect.hpp: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:54:39: error:
> opencv2/calib3d/calib3d.hpp: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:55:29: error: opencv2/ml/ml.hpp:
> No such file or directory /opt/local/include/opencv2/opencv.hpp:56:39:
> error: opencv2/highgui/highgui_c.h: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:57:39: error:
> opencv2/highgui/highgui.hpp: No such file or directory
> /opt/local/include/opencv2/opencv.hpp:58:39: error:
> opencv2/contrib/contrib.hpp: No such file or directory make: ***
> [main.o] Error 1
> 
> **** Build Finished ****

Чтоя делаю не так?

Ответы [ 2 ]

2 голосов
/ 12 марта 2012

хорошо .. У меня было много проблем в этом.

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

Например, на моем компьютере большинство заголовочных файлов, которые мне нужны, находятся в:

[УСТАНОВИТЬ СПРАВОЧНИК] / include / opencv [УСТАНОВИТЬ КАТАЛОГ] / включить / opencv2

но НЕКОТОРЫЕ были в:

[INSTALL DIRECTORY] / modules / core / include / opencv2 [УСТАНОВИТЬ СПРАВОЧНИК] / modules / highgui / include / opencv2 и т. Д.

вам нужно найти эти включаемые файлы. Затем перейдите к вашей IDE (затмение). В eclopse должна быть настройка для «включения каталогов»

Настройте IDE для поиска включаемых файлов в каталогах, где вы знаете, что включаемые файлы.

Затем убедитесь, что вы добавили библиотеки. Спросите, нужна ли вам помощь с этим.

1 голос
/ 12 марта 2012

Ошибки, перечисленные выше, показывают, что вы не указали пути включаемых каталогов. Сначала вы выполняете поиск включаемых каталогов в папке установки. Обычно они находятся в / home / usr / include / opencv и / home / usr / local/ include / opencv

После нахождения этих файлов вы открываете свойства проекта в Eclipse CDT.Выберите компилятор GCC C ++ - каталоги и добавьте туда включаемые каталоги.Выберите опцию GCC C ++ Linker и укажите путь к библиотеке (обычно это / usr / local / lib). Укажите библиотеки в кавычках, например, "cv", "highgui" и т. Д. Это завершит настройку.Надеюсь, это поможет.

...