Столкнулся с множеством проблем с последней версией 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 ++, и я их исправил.
Теперь вот проблемы, которые я хочу исправить:
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
, Ошибка не исчезает даже при<unrodered_map>
работает нормально, но еслиstd::unordered_map<>
используется, то начинает выдавать ошибку. Теперь,Если кто-то может предложить ссылку или метод для эффективной отладки с помощью Eclipse (Juno), то это будет очень полезно и для будущих посетителей.
Примечание: я сослался на несколько потоков в SO, но ни один из них не помог:
Поддержка Eclipse CDT C ++ 11 / C ++ 0x
Невозможно установить Eclipse Juno C ++ с std = c ++ 11
Eclipse CDT Juno — выпуск набора инструментов
Прежде всего, я начал с новой установки всего этого, и, как кое-что для дальнейшего использования, я хочу показать, как установить и использовать GCC с Eclipse с нуля.
Сначала зайдите в Центр программного обеспечения Ubuntu и загрузите последние версии GCC, то есть GCC 4.8. Теперь вы можете столкнуться с проблемами при этом, поэтому я предлагаю вам ввести gcc-4.8
при попытке найти программное обеспечение. То же самое с g ++, вы вводите g++4.8
чтобы получить то, что вы хотите. Убедитесь, что у вас есть правильные версии. Из-за природы Linux с открытым исходным кодом, существует множество проблем, связанных с версиями.
->: нажмите ввод
Теперь откройте свой терминал и введите следующее:
sudo su -
-> это даст вам особые привилегии 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
->Теперь откройте затмение. Перейдите в «Настройки»> «Новый мастер CDT» (или что-то в этом роде)
Убедитесь, что выбран Linux GCC. Сделать нажмите Make Toochains preferred
,
Теперь, когда вы открываете проект, убедитесь, что вы переходите к свойствам проекта, и вы делаете следующее:
C / C ++ Build> Настройки> Разное > Под другими флагами добавь это -std=c++11
,
То же самое с компилятором GCC C, но на этот раз вы добавляете -std=gnu11
Это должно все настроить. Не используйте Cross GCC, это всегда доставляло мне проблемы.
Других решений пока нет …