Cómo decirle a Eclipse que el código es C++11

En un proyecto C++ con Makefile, Eclipse no reconocía la parte de la librería estándar correspondiente a C++11.

Abriendo el fichero /usr/include/c++/4.8.2/mutex se comprueba que el problema es el valor definido para __cplusplus que Eclipse proporciona al analizador del código.

Para hacer que Eclipse le diga a su analizador que el código es C++11 hay que hacerlo en la configuración de rutas y macros del preprocesador (Project->Properties->C/C++ General->Preprocessor Include Paths, Macros, etc.->Providers). Allí hay que añadir el parámetro -std=c++11 al comando utilizado para obtener las características del compilador.

Una vez añadido, el valor de __cplusplus será 201103L, con lo que se activarán los includes de la librería estándar correspondientes a C++11.

Referencias:
C++11 standard library indexing fails, __cplusplus recognized with wrong value

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *