OpenCV - тип «IplImage» не может быть разрешен

Я настроил Eclipse для работы с OpenCV 2.1.

Когда я пробую простую программу, я получаю следующую ошибку:

Type 'IplImage' could not be resolved

Для следующей строки:

  IplImage* img = 0; 

Как я могу решить эту проблему?

Спасибо.


person Simplicity    schedule 28.06.2011    source источник


Ответы (2)


Вы уверены, что пробовали это:

  1. Добавлен основной заголовок OpenCV.
  2. Включал библиотеку?

Посетите http://opencv.willowgarage.com/wiki/EclipseOpenCVLinux.

person shernshiou    schedule 28.06.2011
comment
Я следовал этому руководству: частота несущей. blogspot.com/2010/02/ и не знаю, чего не хватает. Спасибо - person Simplicity; 28.06.2011
comment
Теперь я использовал эту обновленную версию учебника, но с opencv 2.3: carrierfrequency.blogspot.com/2011/05/ и по-прежнему имеют ту же проблему. Я пытаюсь запустить код на этой странице: cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/index.html в разделе "Пример программы C". Спасибо - person Simplicity; 28.06.2011
comment
о да .. я думаю, вы забыли использовать пространство имен cv; - person shernshiou; 28.06.2011
comment
У меня все еще та же проблема. - person Simplicity; 28.06.2011
comment
Если у вас возникли проблемы с компиляцией примеров\c\, то у вас может возникнуть проблема с линковкой библиотеки или включить заголовок opencv в проект. - person shernshiou; 28.06.2011
comment
Как я могу включить заголовок opencv. Я новичок в этом. Спасибо - person Simplicity; 28.06.2011
comment
На вкладке Project Explorer щелкните правой кнопкой мыши и выберите Import... Нажмите General-›Existing Projects into Workspace, нажмите кнопку Next›. Найдите каталог ~/opencv/trunk/eclipse_opencv. Нажмите кнопку «ОК». Нажмите кнопку «Готово». Вы должны увидеть этот проект на вкладке Project Explorer. - person shernshiou; 28.06.2011

У меня была эта проблема на самом деле, а не из-за того, что я забыл закодировать или включить что-то (код отлично работал в MSVC)

Я сравнил файлы .cproject из проекта Hello World и моего собственного проекта, и (помимо большого количества разных идентификаторов) было много дополнительных строк. Я закрыл проект, удалил эти дополнительные строки в редакторе, снова открыл проект, снова выполнил шаги несущей частоты, и это сработало.

По крайней мере, так я думал. Все ошибки компилятора исчезли, но теперь я получаю много ошибок компоновщика, все о символах, найденных внутри самого OpenCV. Кажется, компоновщик не может найти __exchange_and_add в cxoperations.hpp, хотя графический интерфейс находит его: когда я нажимаю на него, удерживая клавишу Ctrl, он перенаправляет меня к bits/atomicity.h, который включен в cxoperations.hpp (но использует пространство имен, которое не используется).

Я решил эту проблему, изменив символы __GNUC__ с 3 на 4 и __GNUC_MINOR__ с 4 на 0. Кажется, Gnu C++ 3.4 не использует пространство имен, а 4.2 и выше используют другое включение (ext/atomicity.h), которого у меня нет, поэтому я произвольно выбрал 4.0.

Свойства проекта -> Общие сведения о C/C++ -> Символы

Используйте ADD, чтобы изменить два символа, даже если они уже существуют. Использование Edit для них просто удаляет их в моей версии Eclispe.

person Mark Jeronimus    schedule 05.03.2012