Ir al contenido principal

Instalar SFML en Windows e Integrar con Visual Studio

 Instalar SFML en Windows e integrar con Visual Studio Community 

 

Integración de herramientas para la programación de Videojuegos con SFML y C++

 Paso 1 Ver la Versión de Visual Studio Instalada

Abrimos Visual Studio y hacemos click Ayuda en las opciones del menú superior.

> Ayuda  > Sobre Microsoft Visual Studio

Ver la Version de Visual Studio Instalada

Dentro de "Sobre Microsoft Visual Studio veremos la siguiente ventana:

Como ver la información de Visual Studio
Anotamos la versión de Visual Studio y el año. En este caso tenemos la versión 17.11.5 y el año 2022. Observamos también que la arquitectura del procesador es de 64 Bits.  Toda esta información determina la versión de SFML que necesitamos descargar.

Paso 2 Descargar la Librería SFML

Abrimos el navegador y entramos en la sección de descargas de la pagina oficial de SFML : https://www.sfml-dev.org/download/sfml/2.6.2/ 

En el momento de preparar esta entrada la ultima versión era la 2.6.2 :

Descarga la Version de SFML Correcta

También puedes revisar la documentación del sitio oficial de SFML.

Paso 3 Descomprimir los Archivos de SFML

Hacemos click derecho sobre el archivo descargado en la carpeta download o descargas y seleccionamos extraer todo. Es de mi preferencia extraerlo en el disco C:. De manera automática se creara una carpeta llamada SFML y la versión.
 
Seleccionamos la Carpeta destino:

Seleccionando la carpeta destino de SFML

 
Seleccionando la carpeta destino de SFML

 El resultado al descomprimir el los archivos es el siguiente:
Resultado al descomprimir SFML en windows

Paso 4 Abrir Visual Studio y Crear un Nuevo Proyecto

> Crear un proyecto

Crear un nuevo proyecto en Visual Studio con SFML

> Aplicación de consola > Siguiente
 
 
Seleccionado la plantilla del proyecto de Visual Studio
Escribimos el nombre del proyecto: "Hola_SFML" y le damos a crear.

> Crear
 
 
De manera automática Visual Studio crea dentro del proyecto un archivo fuente .cpp  con el programa hola mundo.

Comprobamos que todo este bien compilando el programa "!hola mundo¡" con:

> Depurar > Iniciar depuración
 

o pulsando >f5

Compilando Hola Mundo en Visual Studio

 
Programa Hola Mundo en C++ en ejecucion

En pantalla anterior podemos ver la ruta donde se encuentra el programa ejecutable .exe generado por el compilador. Es importante tener en cuenta ésta ruta del proyecto, ya que mas adelante debemos pegar las librerías SFML necesarias para correr nuestros videojuegos.
Ruta del proyecto sfml en visual studio donde colocar las dlls de sfml

Paso 5 Escribir el primer programa en SFML

Borra el código fuente del programa "!hola mundo¡" y copia y pega el siguiente código:



#include <sfml/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200),  "SFML Works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }  
    window.clear();
    window.draw(shape);
    window.display();
    }
    return 0;
}

Como no tenemos vinculadas las librerías a nuestro proyecto veremos varias advertencias de errores:
Programa SFML en Visual Studio

 Paso 6 Configuración General de las carpetas include y lib de SFML

En el explorador de soluciones a la derecha, hacemos clic derecho sobre el proyecto ( Hola_SFML) y luego hacemos clic en propriedades:
 
< Proyecto  > Propiedades
 
Ver Propiedades del Proyecto en Visual Studio

 
Configuración:> Todas las config. > C/C++ > General

Configurando la Carpeta Include de SFML en Visual Studio

> Directorios de inclusión adicionales > <Editar...>

Configurando la Carpeta Include de SFML en Visual Studio

Dentro de la ventana de directorios de inclusión adicionales le damos clic a la primera linea vacía a la izquierda y luego a los tres puntos que aparecen a la derecha.

> ...

Configurando la Carpeta Include de SFML en Visual Studio
Al hacer clic sobre los tres puntos (...) nos abre el explorador de Windows. Navegamos hasta la carpeta donde extrajeron la carpeta SFML y seleccionamos la carpeta include y luego de damos a aceptar.
Configurando la Carpeta Include de SFML en Visual Studio


Configurando la Carpeta Include de SFML en Visual Studio

Luego debemos dar clic en aplicar para ir guardando la configuración:

> Aplicar

Configurando la Carpeta Include de SFML en Visual Studio

El siguiente paso es vincular las librerías (lib).

Configuración: > Todas las config. > Vinculador > General

Configurando la Carpeta lib de SFML en Visual Studio
> Directorios de bibliotecas adicionales > <Editar...>
Configurando la Carpeta lib de SFML en Visual Studio

Dentro de la ventana de directorios de bibliotecas adicionales le damos clic a la primera linea vacía a la izquierda y luego a los tres puntos que aparecen a la derecha.

> ...

Configurando la Carpeta lib de SFML en Visual Studio
Al hacer clic sobre los tres puntos (...) nos abre el explorador de Windows. Navegamos hasta la carpeta donde extrajeron la carpeta SFML y seleccionamos la carpeta lib y luego de damos a aceptar.

Configurando la Carpeta lib de SFML en Visual Studio

Configurando la Carpeta lib de SFML en Visual Studio

Luego debemos dar clic en aplicar para ir guardando la configuración:

> Aplicar

7 Configuración de las Dependencias Adicionales en Release y Debug

Hasta los momentos hecho cambios a nivel de todas las configuraciones es decir tanto para Release como para Debug.
En los cambios a realizar a continuación si debemos diferenciar la configuraciones en Release y en Debug.

 Configuración de las dependencias adicionales de SMFL en Visual Studio

Configuración: > Release > Vinculador > Entrada

Configuración de las dependencias adicionales  Release de SMFL en Visual Studio

En el campo de dependencias adicionales escribimos las librerías necesarias para nuestro proyecto, principalmente se trabaja con la siguientes tres:
 
sfml-graphics.lib
sfml-window.lib
sfml-system.lib
 
y luego hacemos clic en aceptar:
 

En el campo de dependencias adicionales escribimos las librerías necesarias para nuestro proyecto, principalmente se trabaja con la siguientes tres:
 
sfml-graphics.lib
sfml-window.lib
sfml-system.lib
 
y luego hacemos clic en aceptar:
Configuración de las dependencias adicionales Release de SMFL en Visual Studio

Luego debemos dar clic en aplicar para ir guardando la configuración:

> Aplicar

Configuración de las dependencias adicionales Release de SMFL en Visual Studio

 
 
Repetimos el proceso para Debug

Configuración: > Debug > Vinculador > Entrada
Configuración de las dependencias adicionales Debug de SMFL en Visual Studio

En el campo de dependencias adicionales escribimos las librerías necesarias para nuestro proyecto:
 
sfml-graphics.lib
sfml-window.lib
sfml-system.lib
 
y luego hacemos clic en aceptar:

Configuración de las dependencias adicionales Debug de SMFL en Visual Studio

Luego debemos dar clic en aplicar para ir guardando la configuración:

> Aplicar > Aceptar


8 Copiar las Dlls de SFML y pegar en la Carpeta del Proyecto en Visual Studio

Copiar las Dlls de SFML y pegar en la Carpeta del Proyecto en Visual Studio


Copiar las Dlls de SFML y pegar en la Carpeta del Proyecto en Visual Studio

9 Compilar y correr nuestro primer programa en C++ y SFML

Con la configuración realizada con los pasos anteriores todos los errores detectados por Visual Studio desaparecen y podemos proceder a compilar y ejecutar con F5.
Ejecutando un Programa SFML con Visual Studio


Ejecutando un Programa SFML con Visual Studio

Ejecutando un Programa SFML con Visual Studio


Comentarios

Entradas más populares de este blog

Entrada, Salida,Variables, Tipos y Objetos de Memoria en C++

  Entrada, Salida,Variables, Tipos y Objetos de Memoria en C++ En esta parte, vamos a explorar algunos de los conceptos más fundamentales de la programación: entrada , salida y variables . Entender estos conceptos te permitirá comunicarte con la computadora de manera efectiva y controlar cómo interactúa con los datos.   ¿Qué es la entrada y la salida? Cuando pensamos en entrada y salida en un programa, básicamente estamos hablando de cómo los datos fluyen hacia y desde nuestra computadora. Si lo analizamos más de cerca, todo lo que entra o sale no es más que datos . Por ejemplo, cuando escribes algo en el teclado, eso es un tipo de entrada . Cuando el programa te muestra algo en la pantalla, eso es un tipo de salida . Pero ¿cómo puede un programa leer lo que escribimos en el teclado y luego mostrarlo en pantalla? Para hacer esto, necesitamos un medio para capturar esos datos. En C++, esto se hace a través de comandos específicos. Para la entrada , usamos cin (abreviatura de ...

Crear Una Ventana openGL con SFML - Ejemplo y Explicación Detallada

  Introducción a la Pantalla: El Lienzo de la Magia Cuando pensamos en el desarrollo de aplicaciones gráficas o videojuegos, el punto de partida es la pantalla: un lienzo rectangular donde cobra vida todo lo que visualizamos. Este espacio está compuesto por miles o incluso millones de pequeños puntos llamados pixeles . Cada píxel es el bloque básico de cualquier imagen digital y puede tener su propio color. ¿Cómo se organizan los píxeles? Para ubicar un píxel en la pantalla, utilizamos un sistema de coordenadas cartesianas bidimensional. Las posiciones de los píxeles se determinan mediante dos valores: Coordenada X: Indica la posición horizontal del píxel. El valor 0 se encuentra en el extremo izquierdo de la pantalla y aumenta a medida que nos desplazamos hacia la derecha. Coordenada Y: Representa la posición vertical del píxel. A diferencia del sistema de coordenadas matemáticas tradicional, en las aplicaciones gráficas como las de SFML, el origen (0, 0) se encuentra en l...