Я пытаюсь использовать стои и сто, но затмение не позволит мне. Я использую Eclipse Lina (на Win 8.1) с последней версией minGW.
Вот что я попробовал:
C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler -> Miscellaneous -> Other Flags
, Положить -std = c ++ 11
C/C++ General -> Paths and Symbols -> Symbols -> GNU C++
, Нажмите «Добавить …» и вставьте __GXX_EXPERIMENTAL_CXX0X__
(убедитесь, что добавили и добавили два подчеркивания) в поле «Имя» и оставьте «Значение» пустым.
Идти к Project -> Properties -> C/C++ General -> Path and Symbols -> Tab [Symbols]
, Добавьте символ: __cplusplus
со значением 201103L
Window->Properties-> C/C++ -> Setting -> Build-> Discovery Options-> CDT GCC Built-in Compiler Setting
и добавил флаг «-std = c ++ 11» к аргументам вызова там. Линса сейчас ${COMMAND} ${FLAGS} -E -P -v -dD -std=c++11 "${INPUTS}"
Properties -> C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler -> Dialect
Положил -std=c++11
в текстовое поле под названием другие флаги диалекта или выберите ISO C++11
из выпадающего стандарта языка.
-std=c++11
флаг включен в CDT GCC Built-in Compiler Settings
запись на вкладке провайдеров под Preprocessor Include Paths, Macros etc.
Это также единственная проверенная запись.
После каждого шага я перестраиваю индексатор и сам проект. Нет помощи.
Я понятия не имею, что еще делать …
* PS Я включил библиотеки std и string и использую пространство имен std
stoi
а также stod
являются не стандартные функции. Попробуйте использовать boost
для этой функциональности.
Изменить: я думаю, что C ++ 11 действительно включал эти функции. Вы убедитесь, что используете std::
?
Также убедитесь, что вы используете как минимум gcc 4.7
Я слышал, что у затмения возникли проблемы со стандартами c ++ 11. Если все это не работает, вы можете использовать boost::lexical_cast
?
Следующий метод работает для меня.
Перейдите в Проект -> Свойства -> Общие сведения о C / C ++ -> Путь и символы -> Вкладка [Символы] -> GNU c ++.
Добавьте символ:
__cplusplus со значением 201103L