Ответ 1
ОБНОВЛЕНИЕ: Я долгое время отправлял оригинальный ответ, и он устарел. Я дважды проверял сегодня (15 марта 2014 года): в Eclipse Kepler (Build id 20130614-0229) достаточно
-
добавить в Project > Properties > C/С++ Build > Настройки, а затем на вкладке "Параметры инструмента" Компилятор CCC С++ > Разный флаг
-std=c++11
, -
затем в меню "Окно" > "Настройки" > "C/С++ > Сборка" на вкладке "Обнаружение" выбраны параметры встроенного компилятора CDT GCC и добавьте флаг
-std=c++11
в команду, чтобы получить спецификации компилятора. На моей машине это выглядит после изменения:${COMMAND} -E -P -v -dD -std=c++11 "${INPUTS}"
-
очистите и перестройте свой проект и ваш индекс (Project > C/С++ Index > Rebuild), поскольку Eclipse имеет тенденцию кэшировать сообщения об ошибках и показывать их, даже если они исчезли после изменения настройки.
Это действительно работает на моей машине. Если это не так, вы можете сделать снимок: С++ 11 полная поддержка Eclipse, хотя я не уверен в правильности этого подхода и не нужно делать это на своей машине. По состоянию на 7 марта 2014 года пользователи заявили, что они им помогли, тогда как вышеупомянутый подход не сделал.
Исходный пост, теперь устаревший:
Кажется, что вы столкнулись с общей проблемой с Codan, см. мой ответ здесь.
Не ясно, как код компилируется на 100%. В пределах Eclipse? Или из командной строки, правильно устанавливая флаги? Так что на всякий случай:
Вы используете функцию С++ 11. Вы передаете флаги -std=c++0x
или -std=c++11
компилятору (предполагая gcc)?
Возможно, вам придется добавить __GXX_EXPERIMENTAL_CXX0X__
к вашим определениям (опять же, при условии gcc) и перезапустить Eclipse.
Забастовкa >