Como Compilar Seus Jogos em SFML com GCC MinGW no Windows

Para usar com seu Editor de Códigos ou IDE preferido!


Como Compilar Seus Jogos em SFML com GCC MinGW no Windows


SFML é uma ótima alternativa para desenvolver jogos 2D, além de outros recursos multimidia.

No Windows é muito fácil de usá-lo com o Visual Studio, no entanto, há quem prefira usar o SFML no seu Editor de Código/IDE preferido e também utilizar um outro compilador em vez do MSVC.

Nesse artigo veremos como compilar seus projetos em SFML com GCC com MinGW no Windows.


Dependências

Antes de mais nada é necessário possuir o GCC/G++ com MinGW devidamente instalado no seu sistema, e para fazer isso, caso você ainda não o possua instalado, basta seguir os passos desse tutorial:

Como Instalar GCC/G++ MinGW no Windows.


01. Fazer o Download do SFML para MinGW

Após devidamente instalado e funcionando o GCC/G++ com MinGW próximo passo é fazer o download de um pacote diferente do SFML(diferente da versão Visual Studio).

E para isso acesse a página de downloads do site do SFML no link: https://www.sfml-dev.org/download/sfml/2.5.1/ e faça o download da versão: GCC 7.3.0 MinGW (SEH) - 64-bit conforme imagem abaixo:

Página de download do SFML 2.5.1

Se quiser baixar por aqui mesmo, basta clicar no botão abaixo:

Download GCC 7.3.0 MinGW (SEH) - 64-bit


02. Extrair o arquivo

O arquivo baixado será de nome e extensão: SFML-2.5.1-windows-gcc-7.3.0-mingw-64-bit.zip, extraia esse arquivo clicando com o botão direito do mouse e escolha Extrair aqui.

Após extraído haverá a pasta de nome: SFML-2.5.1, renomei ela para somente SFML.

Ficará mais fácil ao usarmos quando compilar.


03. Copiando arquivos para seu projeto

Agora entre nessa pasta(SFML) e copie todos os arquivos que estão dentro da subpasta: bin para a “raiz” do seu projeto e depois copie também toda a pasta SFML também para dentro da “raiz” do seu projeto, os arquivos são:

Files SFML MinGW Project

Após listar os arquivos com o comando ls do PowerShell dentro da pasta do meu projeto: MyProjectSFML.

No que além da pasta SFML e dos arquivos copiados da subpasta SFML\bin há também o arquivo main.cpp que há o código que iremos compilar, se quiser usá-lo como teste, use o código abaixo:

#include <SFML/Graphics.hpp>

int main(){
  sf::RenderWindow window(sf::VideoMode(800, 450), "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;
}

Agora vamos compilar!


04. Compilado um projeto SFML com GCC MinGW

Para compilar basta entrar no seu projeto através do PowerShell ou CMD e rodar o comando:

g++ .\main.cpp -I SFML\include\ -L SFML\lib\ -lsfml-main -lsfml-graphics -lsfml-system -lsfml-window

Note o uso dos parâmetros: -I(include) e -L(lib) com os respectivos direcionamentos para a pasta SFML que está dentro do nosso projeto. E também das flags:

-lsfml-main -lsfml-graphics -lsfml-system -lsfml-window

Se estiver criando um código com Áudio e/ou Network adicone as flags: -lsfml-audio -lsfml-network.

Agora é só rodar o binário e correr pro abraço:

.\a.exe

SFML Rodando com MinGW


Se quiser utilizar Makefile ou um script em Lua para facilitar o comando de compilação, fique à vontade! Nós mostramos como fazer isso no artigo sobre Imagens com SDL2.


Veja também


windows sfml gcc gamedev


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!