Habilitar el soporte de C++11 en CodeBlocks.

Algunas veces cuando vamos a desarrollar un proyecto necesitamos ciertas utilidades de C++ que no están presentes en versiones anteriores a la estándar ISO C++11, por lo tanto cuando utilizamos funciones o constantes presentes en dicha versión, pero sin fijarnos compilamos con versiones anteriores lo primero que nos saltan son los mensajes de error porque dichos métodos o constantes no han sido definidas aún, pues bien a continuación mostraremos los simples pasos que hay que seguir para habilitar la compilación (o habilitar el soporte y poder compilar) con C++11.

Paso 1.

Una vez tenemos abierto nuestro entorno de desarrollo (CodeBlocks), nos dirigimos en la barra de menús (arriba) a la sección ‘Settings‘ y damos click como se ve en la figura 1 a continuación.

cap1

Figura 1.

Paso 2.

Una vez que dimos click en el submenú Settings, ingresamos al cuadro que se observa en la figura 2, donde debemos primero asegurarnos que en la parte que dice ”Selected Compiler” tengamos seleccionado el compilador “GNU GCC Compiler” al igual que se indica en la imagen.

Figura 2. Selección del Compilador.

Figura 2. Selección del Compilador.

 

Paso 3.

Luego de elegir el compilador debemos ir más abajo en la sección “Compiler Settings” en el amplio menú desplegable de “Compiler Flags” y activar la opción que dice “Have g++ follow the C++11 ISO C++ language standard [-std=c++11]” esto es probablemente lo más importante de todo el proceso, y hay que seguirlo con forme se muestra en la figura 3.

Figura 3. Activar el Soporte de C++11.

Figura 3. Activar el Soporte de C++11.

Paso #4.

El último paso es aceptar los cambios, y dar click en ‘ok’, ‘save’ o ‘aceptar’ dependiendo el idioma en que tengas configurada tu máquina.

Figura 4. Aceptar los Cambios.

Figura 4. Aceptar los Cambios.

 

Prueba de funcionamiento.

Podemos hacer uso de un código muy simple para probar si se ha activado el soporte para compilar con C++11, el código hace uso de la función stod() que está definida en el espacio de nombres y pertenece a la librería <string>, dicha función convierte un número que está en formato string a un valor numérico double, y hacemos la prueba con esta función ya que no fue implementada (al igual que muchas otras) hasta la versión C++11.

El código es:


#include <iostream>
#include <string>

using namespace std;

int main()
{
//declaramos una varible double donde alamenaremos el número despues de la conversión
double num=0.0;
//definimos una cadena con un valor de tipo double
string cad="12.3456";
cout<<endl<<endl;
//usamos la función stod() difinida en C++11
num=stod(cad,NULL);
//sumamos un valor para conprobar que la conversión fue correcta
num+=1.0;
//mostramos el resultado final
cout<<cad<<" + "<<1<<" = "<<num<<endl<<endl;

return 0;
}

Cuando ejecutamos el código anterior, el resultado no genera ningún problema a la salida, como se puede observar en la siguiente imagen.

cap6

Hasta aquí este tutorial, espero que haya sido de ayuda para cada uno de ustedes, si creen que esto puede ser de utilidad para más personas, ayúdanos a compartirlo. Saludos y éxitos con sus proyectos.

Autor: Julio Marulanda.

Un comentario en “Habilitar el soporte de C++11 en CodeBlocks.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s