Como escribir y ejecutar un programa C++ SFML y compilarlo en Linux con GNU g++

En esta entrada vamos a escribir un programa sencillo en SFML que simplemente muestra una                 ventana.
    Aunque tengamos instalado un IDE como Code::Blocks es recomendable hacer pruebas con los          compiladores directamente, en nuestro caso vamos a escribir un programa con la librería SFML y compilarlo con  g++  por consola o terminal linux, es una manera de comprobar que todo este bien para el desarrollo de nuestros programas. Mas adelante lo haremos con Code::Blocks.
Para compilar, enlazar y crear un ejecutable  con C++ y SFML con el compilador GNU g++ sobre Linux, debemos hacer principalmente lo siguientes pasos:

1) Escribir el programa fuente en un editor de texto  (por ejemplo gedit) y guardarlo con extensión .cpp
2) Compilar la fuente con el comando g++ -c. Esto crea el archivo objeto con extension .o
3) Enlazar las librerías al archivo objeto y crear la aplicación ejecutable
4) Ejecutar el programa

1-Escribir el programa con editor de texto y guardarlo como  ventana.cpp


#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "intellvirtual");
    
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
       
        window.display();
    }
    return 0;

}



2-Compilar el archivo fuente con el siguiente comando:
    g++ -c ventana.cpp




Debemos tener 2 archivos en la carpeta: ventana.cpp y ventana.o



3- Enlazamos el archivo objeto para generar el ejecutable y le damos el nombre ventana-app:


g++ ventana.o -o ventana-app -lsfml-graphics -lsfml-window -lsfml-system



Ahora debemos tener 3 archivos ventana.cpp, ventana.o y ventana-app 



Si damos doble clic sobre ventana-app se ejecutara el programa.
Si lo queremos ejecutar por consola introducimos el siguiente comando: 

./ventana-app

El resultado:



Podemos probar dibujar un circulo azul en esa ventana para ello copia el siguiente código y dale un nombre al archivo con extensión cpp y repite los pasos anteriores:

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "IntellVirtual!");
    sf::CircleShape circulo(50.f);
    circulo.setFillColor(sf::Color::Blue);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(circulo);
        window.display();
    }

    return 0;

}

El resultado:





Comentarios

  1. De verdad muchas gracias, Me funciono y lo mejor que es paso a paso, específico.

    ResponderEliminar
  2. Puedes probrar también lo siguiente: g++ ventana.cpp -o ejecutable -lsfml-graphics -lsfml-window -lsfml-system

    Y para ejecutarlo: ./ejecutable

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Mover formas simples en pantalla con C++ y SFML

Dibujar formas simples con C++ y SFML

Como Mover Formas Simples Con el Teclado con C++ y SFML