Eclipse Juno CDT: несовместимость с C ++ 11 и проблемы отладки

Столкнулся с множеством проблем с последней версией Eclipse Juno в Ubuntu 12.04 после перехода с Indigo.
Я установил ниже флаги в:
Проект -> Свойства -> Сборка C / C ++ -> Настройки -> Настройки инструмента -> Компилятор Cross G ++

  • -> Разное: -std=c++11
  • -> Препроцессор: __GXX_EXPERIMENTAL_CXX0X__ (также устанавливается в C / C ++ General -> Paths and Symbols)

В настоящее время я компилирую код, который прекрасно компилировался с C ++ 03 в Indigo. После перехода на C ++ 11 я получил некоторые ошибки, которые, вероятно, были связаны с расширением g ++, и я их исправил.

Теперь вот проблемы, которые я хочу исправить:

  1. Если я переключаюсь обратно на обычную компиляцию 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, Ошибка не исчезает даже при
    чистая сборка или перезапуск затмения.
  2. Отладка не работает, как ожидалось. Казнь останавливается в данный момент
    точки останова, но когда я наведите курсор мыши на переменные, это не
    показать любые значения. В Индиго это показывалось раньше. Сделал много испытаний и
    ошибки в различных настройках Eclipse, но не повезло. Также проверил,
    Окно -> Настройки -> C / C ++ -> Наведение, но не может измениться
    что-нибудь там.
  3. В том числе <unrodered_map> работает нормально, но если
    std::unordered_map<> используется, то начинает выдавать ошибку. Теперь,
    Я меньше всего обеспокоен этим вопросом среди других.

Если кто-то может предложить ссылку или метод для эффективной отладки с помощью Eclipse (Juno), то это будет очень полезно и для будущих посетителей.

Примечание: я сослался на несколько потоков в SO, но ни один из них не помог:
Поддержка Eclipse CDT C ++ 11 / C ++ 0x
Невозможно установить Eclipse Juno C ++ с std = c ++ 11
Eclipse CDT Juno — выпуск набора инструментов

1

Решение

Прежде всего, я начал с новой установки всего этого, и, как кое-что для дальнейшего использования, я хочу показать, как установить и использовать GCC с Eclipse с нуля.

Сначала зайдите в Центр программного обеспечения Ubuntu и загрузите последние версии GCC, то есть GCC 4.8. Теперь вы можете столкнуться с проблемами при этом, поэтому я предлагаю вам ввести gcc-4.8 при попытке найти программное обеспечение. То же самое с g ++, вы вводите g++4.8 чтобы получить то, что вы хотите. Убедитесь, что у вас есть правильные версии. Из-за природы Linux с открытым исходным кодом, существует множество проблем, связанных с версиями.

->: нажмите ввод

Теперь откройте свой терминал и введите следующее:

  • sudo su - -> это даст вам особые привилегии root.
  • Теперь он попросит ваш пароль, введите это ->
  • !Предупреждение, не делайте ошибок в этой части, так как root может нанести большой ущерб!
  • Теперь измените свой каталог, введите cd /usr/bin ->
  • Тип ls -l gcc* g++* cpp* ->
  • Это покажет вам символические ссылки, доступные для этих типов данных
  • Тип ln -s g++-4.8 g++->
  • Тип rm cpp gcc ->
  • ln -s gcc-4.8 gcc ->
  • ln -s cpp-4.8 cpp ->
  • Сейчас CTRL + D, дважды, и это выведет вас из терминала.

Теперь откройте затмение. Перейдите в «Настройки»> «Новый мастер CDT» (или что-то в этом роде)
введите описание изображения здесь
Убедитесь, что выбран Linux GCC. Сделать нажмите Make Toochains preferred,
Теперь, когда вы открываете проект, убедитесь, что вы переходите к свойствам проекта, и вы делаете следующее:

  • C / C ++ Build> Настройки> Разное > Под другими флагами добавь это -std=c++11,
    введите описание изображения здесь

  • То же самое с компилятором GCC C, но на этот раз вы добавляете -std=gnu11

Это должно все настроить. Не используйте Cross GCC, это всегда доставляло мне проблемы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]