Я разрабатываю код C + 11 в Eclipse Neon и сегодня заметил, что диапазон, основанный на цикле, введенном в C + 11, выделен красным IDE, указывая, что он его не распознает.
Я нашел несколько ссылок о том, как это сделать для более старых версий CDT, таких как эта (Поддержка Eclipse CDT C ++ 11 / C ++ 0x) Вы можете видеть, хотя нет вкладки «Настройки инструмента».
Может кто-нибудь подсказать, как настроить мой проект так, чтобы синтаксис C ++ 11 был правильно выделен (я использую отдельную систему сборки)
Будет выглядеть примерно так:
${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11
Вы также можете сделать следующее
С другой стороны,
По причинам, которые я не понимаю, когда я искал подсказки о том, почему мой 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
По какой-то причине редактирование глобальных настроек компилятора c ++ не помогло мне. Следование инструкциям по изменению настроек для конкретного проекта сработало. Увидеть: Поддержка Eclipse CDT C ++ 11 / C ++ 0x