Я настроил Eclipse для работы с OpenCV 2.1.
Когда я пробую простую программу, я получаю следующую ошибку:
Type 'IplImage' could not be resolved
Для следующей строки:
IplImage* img = 0;
Как я могу решить эту проблему?
Спасибо.
Я настроил Eclipse для работы с OpenCV 2.1.
Когда я пробую простую программу, я получаю следующую ошибку:
Type 'IplImage' could not be resolved
Для следующей строки:
IplImage* img = 0;
Как я могу решить эту проблему?
Спасибо.
Вы уверены, что пробовали это:
Посетите http://opencv.willowgarage.com/wiki/EclipseOpenCVLinux.
У меня была эта проблема на самом деле, а не из-за того, что я забыл закодировать или включить что-то (код отлично работал в 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.