Столкнулся с множеством проблем с последней версией Eclipse Juno в Ubuntu 12.04 после перехода с Indigo.
Я установил следующие флаги в:
Проект -> Свойства -> Сборка C/C++ -> Настройки -> Настройки инструментов -> Кросс-компилятор G++
- -> Разное:
-std=c++11
- -> Препроцессор:
__GXX_EXPERIMENTAL_CXX0X__
(также устанавливается в C/C++ General -> Пути и символы)
В настоящее время я компилирую код, который отлично компилировался с C++03 в Indigo. После перехода на С++ 11 я получил некоторые ошибки, которые, вероятно, были связаны с расширением g++, и я их исправил.
Теперь вот проблемы, которые я хочу исправить:
- Если я переключаюсь обратно на обычную компиляцию C++, то получаю единственную ошибку:
This file requires compiler and library support for the \ ISO C++ 2011 standard. This support is currently experimental, and must be \ enabled with the -std=c++11 or -std=gnu++11 compiler options.
из файлаc++0x_warning.h
. Ошибка не исчезает даже при чистой сборке или перезапуске eclipse. - Отладка не работает должным образом. Выполнение останавливается в заданных точках останова, но когда я навожу указатель мыши на переменные, он не показывает никаких значений. В Indigo это показывалось. Сделал много проб и ошибок в различных настройках Eclipse, но не повезло. Также проверил, Window -> Preferences -> C/C++ -> Hovers, но не смог ничего там изменить.
- Включение
<unrodered_map>
работает нормально, но если используетсяstd::unordered_map<>
, то начинает выдавать ошибку. Пока меня этот вопрос меньше всего волнует среди прочих.
Если кто-нибудь может предложить ссылку или метод для эффективной отладки с помощью Eclipse (Juno), это будет очень полезно и для будущих посетителей.
Примечание. Я упомянул несколько тем в SO, но ни одна из них не помогла:
Eclipse CDT Поддержка C++11/C++0x
Невозможно установить Eclipse Juno C++ с помощью std=c++11
Eclipse CDT Juno: проблема с набором инструментов