У меня была эта проблема по-настоящему, и я не забыл написать код или включить что-то (код работал в MSVC)
Я сравнил файлы .cproject
из проекта Hello World и моего собственного проекта, и(кроме большого количества идентификаторов) было много дополнительных строк.Я закрыл проект, удалил эти дополнительные строки в редакторе, снова открыл проект, снова выполнил шаги несущей частоты, и это сработало.
По крайней мере, так я думал.Все ошибки компилятора исчезли, но теперь я получаю множество ошибок компоновщика, все о символах, найденных внутри самого OpenCV.Кажется, что компоновщик не может найти __exchange_and_add
в cxoperations.hpp
, даже если GUI находит его: когда я нажимаю на него Ctrl +, он приводит меня к bits/atomicity.h
, который является , правильно включенным в cxoperations.hpp
(но использует пространство имен, которое не используется).
Я решил эту проблему, изменив символы __GNUC__
с 3 на 4 и __GNUC_MINOR__
с 4 на 0. Кажется, Gnu C ++ 3.4 неиспользовать пространство имен, а 4.2 и выше использовать другое include (ext/atomicity.h
), которого у меня нет, поэтому я произвольно выбрал 4.0.
Свойства проекта -> Общие положения C / C ++ -> Символы
Используйте ADD , чтобы изменить два символа, даже если они уже существуют.Использование Edit для них просто удаляет их в моей версии Eclispe.