Как изменить стандарт C ++ Eclipse CDT [дубликат]

В PHP вам нужно либо использовать функции multibyte , либо включить mbstring.func_overload . Таким образом, такие вещи, как strlen, будут работать, если у вас есть символы, которые принимают более одного байта.

Вам также потребуется определить набор символов ваших ответов. Вы можете использовать AddDefaultCharset, как указано выше, или написать PHP-код, который возвращает заголовок. (Или вы можете добавить тег META в свои HTML-документы.)

42
задан clstaudt 16 June 2013 в 10:15
поделиться

7 ответов

Как описано в этом форуме:

http://www.eclipse.org/forums/index.php/mv/msg/282618/

  • щелкните правой кнопкой мыши проект и перейдите к «Свойствам» C / C ++ Общие -> Пути и символы -> Символы -> GNU C ++.
  • Нажмите «Добавить ...» и вставьте __GXX_EXPERIMENTAL_CXX0X__ в «Имя» и оставить значение «Значение» пустым. Нажмите «Применить», сделайте все, что вы попросите, затем нажмите «ОК».
35
ответ дан Etherealone 3 September 2018 в 18:19
поделиться

Обходной путь для меня с проектом, который использует внешний конструктор, состоял в том, чтобы определить символ:

__ cplusplus

со значением:

201403

в проекте: Пути и Символы -> Символы / GNU C ++.

Это сработало в eclipse Kepler CDT Version: 8.3.0.201402142303.

5
ответ дан Afilu 3 September 2018 в 18:19
поделиться

Следующие работы выполняются в Eclipse C/C++ Oxygen .2 с gcc-5.5.0

Eclipse Properties->C/C++ Build->Settings->GCC C++ Compiler->Dialect->Other dialect flags: -std=c++17

Не поднимайте ничего в Language standard выпадающий список.

1
ответ дан caot 3 September 2018 в 18:19
поделиться

Или перейдите к:

  • C / C ++ Build-> Discovery Options-> GCC C ++ Compiler
  • добавьте свои флаги в аргументы вызова компилятора. как -std = c ++ 11 -m32
  • Очистить обнаруженные записи сейчас: нажмите Clear
  • перестроить проект

После этого ВСЕ символы будет обновляться с правильными значениями, и индексщик должен работать по назначению

9
ответ дан Danh 3 September 2018 в 18:19
поделиться

См. это руководство :

  1. C / C ++ Build-> Settings-> GCC C ++ Compiler-> Dialect
  2. Выберите «ISO C ++ 11 (-std = c ++ 0x) "в" языковом стандарте "Language and dialect [/g1]
  3. Применить и ОК
  4. Восстановить проект, и он работает :)
2
ответ дан Fabio Turati 3 September 2018 в 18:19
поделиться

Я решил эту проблему недавно после того, как повезло googling.

Нажмите на свой проект и щелкните правой кнопкой мыши-> Свойства

Выберите «C / C ++ General -> Processor Include Paths, Макросы и т. Д. »

Выберите вкладку« Провайдеры »

Отмените выбор всего, кроме« Записи пользовательских настроек CDT »и« Встроенные настройки компилятора CDT GCC »

Нажмите «Настройки встроенного компилятора CDT GCC»

Снимите флажок «Использовать глобальный поставщик, совместно используемый между проектами»

Отредактируйте поле внизу с надписью «Команда для получения спецификаций компилятора»

Вставить в команду -std = c ++ 11, чтобы она выглядела примерно так:

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

Нажмите Apply и Okay.

enter image description here [/g0]

Это сработало для меня. Вероятно, вам нужно повторно проиндексировать проект.

46
ответ дан Galik 3 September 2018 в 18:19
поделиться

Настройка **__GXX_EXPERIMENTAL_CXX0X__** не помогает в моем случае (июль 2014, Eclipse Kepler 20130919, Ubuntu 12.04).

Чтобы исправить выделение синтаксиса C ++ 11, перейдите к:

Свойства проекта -> C / C ++ Общие -> Контуры и символы -> Символы -> GNU C ++

и перезаписать символ (т.е. добавить новый символ):

__cplusplus

со значением

201103L

ОБНОВЛЕНО: если вы используете более новую версию Eclispe (начиная с 2016 года) и все еще испытываете ту же проблему, попробуйте значение (как указано jose.diego):

201402L

Убедитесь, что индексир включен в настройках проекта (C / C ++ general -> Indexer)

Затем reindex (Project -> C / C ++ Index -> Rebuild)

, если проблема все еще сохраняется повторно. Теперь он должен работать.

75
ответ дан selyunin 3 September 2018 в 18:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: