Как включить синтаксис C ++ 11 в Eclipse Neon?

Я разрабатываю код C + 11 в Eclipse Neon и сегодня заметил, что диапазон, основанный на цикле, введенном в C + 11, выделен красным IDE, указывая, что он его не распознает.

Я нашел несколько ссылок о том, как это сделать для более старых версий CDT, таких как эта (Поддержка Eclipse CDT C ++ 11 / C ++ 0x) Вы можете видеть, хотя нет вкладки «Настройки инструмента».

введите описание изображения здесь

Может кто-нибудь подсказать, как настроить мой проект так, чтобы синтаксис C ++ 11 был правильно выделен (я использую отдельную систему сборки)

18

Решение

  1. Щелкните правой кнопкой мыши по вашему проекту и выберите Свойства
  2. Перейдите к C / C ++ General и препроцессору, включите пути, макросы и т. Д.
  3. Выберите вкладку «Поставщики», щелкните строку настроек компилятора для используемого вами компилятора.
  4. Добавьте -std = c ++ 11 в Command, чтобы получить спецификации компилятора.
  5. Применять изменения.

Будет выглядеть примерно так:

${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11
38

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

Вы также можете сделать следующее

  1. перейти к свойствам проекта (alt enter)
  2. На левой панели выделите «Построение C / C ++», сверните его, выберите настройки.
  3. На правой панели выберите и сверните ваш компилятор под Инструментом.
    В меню настроек выберите «Диалект», выберите стандарт языка
    раскрывающийся список или введите -std = c ++ 11 в тексте «другие флаги диалекта»
    вход.

С другой стороны,

  1. Свойства -> «Сборка C / C ++» -> свернуть и выбрать «Настройки»
  2. На вкладке «Настройки инструмента» выберите свой компилятор и выделите
    «Разное» поле.
  3. добавить -std = c ++ 11 в поле ввода «Другие флаги».
5

По причинам, которые я не понимаю, когда я искал подсказки о том, почему мой Eclispe Oxygen + CDT 9.3.2, работающий на Fedora 27, не мог надежно отлаживать мой код, Google поставил этот вопрос / ответ как нечто, на что можно посмотреть.

В основном моя проблема заключалась в том, что довольно простая программа на C ++, использующая функции C ++ 11 (в частности, shared_ptr), не была отлаживаемой в Eclipse Oxygen 2 + CDT 9.3.2 поверх Fedora 27 (на которой установлена ​​версия gdb 8.0.1 из стандартный пакет репо). В результате нескольких вызовов методов произошел зависший сеанс отладки, ничего не происходило, завершите Eclipse для восстановления.

Если я отлаживал бинарный файл с помощью gdb в командной строке, все было хорошо; Я мог установить точки останова и т. Д., Все работало как надо. Но из затмения ничего не происходит.

Тем не менее, установка -std = c ++ 11 в настройках проекта, как показано Андреасом, решила проблему. Я понятия не имею почему. Я думал, что поднимет это на случай, если кто-то столкнется с подобной проблемой.

g ++ находится на версии 7.2.1

1

По какой-то причине редактирование глобальных настроек компилятора c ++ не помогло мне. Следование инструкциям по изменению настроек для конкретного проекта сработало. Увидеть: Поддержка Eclipse CDT C ++ 11 / C ++ 0x

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