Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: [Input] Compile SFML -> Spanish Tutorial  (Read 5460 times)

0 Members and 1 Guest are viewing this topic.

MeCraniDOS

  • Newbie
  • *
  • Posts: 4
    • View Profile
[Input] Compile SFML -> Spanish Tutorial
« on: August 09, 2013, 02:12:22 pm »

Post Original: http://foro.elhacker.net/programacion_cc/aporte_compilar_sfml_estaticamente-t396527.0.html

Hola a todos, he hecho este tutorial con la intención de ayudar a los que no saben como instalar SFML, debido a que a mi me dio muchos errores la instalación.

Este tutorial consta de 50 imagenes perfectamente explicadas, para facilitar la instalación.

Bien, comencemos:

Lo primero será descargar el código fuente de SFML y CMake para compilar las Librerías

Codigo Fuente: http://www.sfml-dev.org/download/sfml/2.1/SFML-2.1-sources.zip

CMake: http://www.cmake.org/files/v2.8/cmake-2.8.11.2-win32-x86.exe







Una vez descargado, procedemos a la instalación de CMake como se muestra en las siguientes imágenes.









Una vez instalado, extraemos el contenido del zip "SFML-2.1-sources.zip", en C:// de la siguiente manera:





Se creará una carpeta llamada SFML-2.1, entramos en ella y creamos otra carpeta llamada "Build".



Abrimos CMake, ponemos las rutas de los códigos y del Build y le damos a "Configure".



Elegimos el compilador que usamos.



Seleccionamos la opción que he marcado y hacemos click en Next.



Copiamos la carpeta del compilador (MinGW) a C://.





Seleccionamos la ruta de gcc y g++, hacemos click en Finish, y después de esto, se pondrá a configurar, esperamos a que acabe.





Una vez configurado, desmarcamos todo y marcamos la ultima opción como en la imagen, y le volvemos a dar a Configure.



Hacemos click en generate y...



Listo, ya podemos cerrar CMake.



Apretamos Tecla Windows + R, para abrir Ejecutar, o Inicio -> Ejecutar, y escribimos cmd.



Navegamos por los directorios para llegar a la carpeta donde estaba la carpeta Build.



Una vez ahí, vamos a la carpeta de MinGW\bin, y copiamos todo el contenido en WINDOWS\System32, y no hacemos click en esa carpeta para luego poder borrar los archivos que me hemos copiado sin cambiar nada.





Finalmente, escribimos "mingw32-make" y se pondrá generar los archivos que van en la carpeta "lib".









Una vez generados, escribimos exit en la consola y ya podemos borrar el contenido de System32 que acabábamos de copiar.





Dentro de la carpeta Build, la unica que nos interesa es la carpeta lib.



La copiamos al escritorio junto con la carpeta include que esta en la carpeta SMFL-2.1 (saliendo de Build).



Renombramos la carpeta lib por SFML y la copiamos en la carpeta lib, de MinGW, en la ruta de instalación de Code::Blocks, y copiamos el contenido de la carpeta include (la del escritorio), a la carpeta de include de MinGW, en la ruta de instalación de Code::Blocks





Ya podemos cerrarlo todo y abrir Code::Blocks

Creamos un nuevo proyecto de Consola y seguimos los siguientes pasos.




Desmarcamos Debug y Finish.



Nos vamos a Build Options y hacemos exactamente lo siguiente.



Añadir SFML_STATIC, en Compiler Settings -> #defines



Vamos a Linker Settings y añadimos el contenido de la carpeta "lib" que hemos renombrado por "SFML", y que hemos puesto en la ruta de Code::Blocks



Lo añadimos todo.



Y quedará así.



Ahora lo renombramos hasta que quede ordenador así, tenemos que borrar de ahí el archivo "libsfml-main.a"



Una vez hecho, nos vamos a Search Directories, en Compiler añadimos la ruta de los include, que hemos copiado en la ruta de Code::Blocks



En Linker, copiamos la ruta de los lib, que hemos copiado en la ruta de Code::Blocks, y le damos OK.



Nos vamos a las propiedades del proyecto y seleccionamos GUI Application para que desaparezca la consola.



Una vez hecho eso, copiamos el siguiente código, y lo pegamos en nuestro main.cpp.

#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;
}




Si todo es correcto, al apretar F9, saldrá una ventana así.



Cerramos la ventana y nos vamos a File->Save projecta as template.



Le ponemos el titulo que queramos, y le damos OK.



La plantilla se ha guardado con éxito.



Listo, ya tenemos SFML instalado en Code::Blocks, ahora cada vez que queramos usarlo, solo seleccionen la plantilla que hemos creado y a programar.

Espero que se entienda.   8)  8)

Saludos.

Agradecimiento a amchacon, que fue él quien me lo explicó a mi.   ;D

« Last Edit: August 09, 2013, 02:14:37 pm by MeCraniDOS »

zsbzsb

  • Hero Member
  • *****
  • Posts: 1409
  • Active Maintainer of CSFML/SFML.NET
    • View Profile
    • My little corner...
    • Email
Re: [Input] Compile SFML -> Spanish Tutorial
« Reply #1 on: August 09, 2013, 05:06:55 pm »
You should put this on the wiki, not in the website section.

Also I do not like in your tutorial how you copy files to System32 folder. This is not a good idea due to the easy mistakes of deleting the wrong file or overwriting something else.

Another thing is that you should have a section for setting up SFML in C::B for debug, not just release.
Motion / MotionNET - Complete video / audio playback for SFML / SFML.NET

NetEXT - An SFML.NET Extension Library based on Thor