Подтвердить что ты не робот

Полная поддержка С++ 11 на Eclipse

Я пытаюсь найти способ получить полную поддержку С++ 11 на Eclipse.

В Eclipse Juno у меня появилось много новых функций с __GXX_EXPERIMENTAL_CXX0X__, но я не нашел поддержки для std::threads, std::mutex и т.д.

Как мне выполнить завершение для всех функций С++ 11?

EDIT: решение

Перейдите к Project -> Properties -> C/C++ General -> Path and Symbols -> Tab [Symbols]. Добавьте символ: __ cplusplus со значением 201103L

4b9b3361

Ответ 1

Eclipse работает с поддержкой C + 11 (Indexer и т.д.) просто отлично: как Juno, так и Kepler. Дело в том, что вы должны позволить Eclipse знать, что собираетесь собираться с поддержкой С++ 11. Это делается путем предоставления дополнительного флага -std=c++11 до CDT GCC Builtin Compiler Settings в C/C++ -> Build -> Settings -> Discovery [tab], чтобы он читал что-то вроде:

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

И это все, что вам нужно сделать с Kepler/Juno, чтобы правильно отобразить код С++ 11.

Обратите внимание, что это параметр рабочей области. Вы можете сделать то же самое для каждого проекта, если вы не хотите устанавливать его в рабочей области.

Ответ 2

Есть ли даже компилятор, который полностью поддерживает С++ 11? Если вы работаете в Windows, то я думаю, вы должны дать Microsoft Visual Studio Express Edition 2013. Его поддержка на С++ 11 не завершена, но ИМО достаточно хороша, и похоже, что в ближайшем будущем она станет еще лучше.