SFML - Configuração Labo - CEFET-Contagem.

 

Configuração SFML: Laboratórios CEFET-Contagem
SFML 2.1 + MingW 4.9.9.2





1 - Donwloads 

SFML

Link para versão SFML.


Após o donwload descompacte  o arquivo na pasta C:
Sua árvore de diretório ficará como: 



A pasta raiz da SFML deverá ser C:\SFML

MingW (compilador C++)



Nos laboratórios o GCC já está instalado e configurado. 
Para testar abra uma janela de comandos (vulgo cmd) e digite:
g++ -v





Caso precise baixar e configurar o GCC sugiro baixar a pasta do link anterior e descompactá-la no C:



Sua pasta principal do GCC (bin) deverá estár em C:\MinGW32\bin. Aqui dentro estarão os compiladores de C e C++. (*A imagem está mingw64, mas no labo está com 32)


Agora coloque o endereço nas suas variáveis de ambiente. Se não souber como veja esse tutorial a partir do "Passo 4: Variáveis ambientes"


Então teremos:
SFML em C:\SFML
GCC em C:\MinGW32



Eclipse

Baixa a versão mais nova para C++




Baixe e descompacte ou instale o eclipse (dependendo da versão que você baixou).
Rode o eclipse. Você verá uma tela parecida com a imagem abaixo.




Se não souber como rodar uma aplicação C++ no eclipse tente esse tuturial (link).

Rode um "Olá Mundo" no eclipse e confirme que a ide e o GCC estão instalados e configurados. Somente depois disso passe para a SFML.



1 - Aplicação SFML

Colocaremos para funcionar a versão "Olá Mundo" da SFML. Ela apresentará a imagem abaixo ao rodar.



Para isso usaremos o seguinte código:

#include <SFML/Graphics.hpp>


int main()

{

// Cria a janela

sf::RenderWindow window(sf::VideoMode(400, 300), "Bola Branca - SFML");


// Cria a "bola" (um círculo)

sf::CircleShape circle(50.0f); // raio de 50 pixels

circle.setFillColor(sf::Color::White);

circle.setPosition(150.0f, 100.0f); // centraliza aproximadamente (janela 400x300)


// Loop principal

while (window.isOpen())

{

sf::Event event;

while (window.pollEvent(event))

{

if (event.type == sf::Event::Closed)

window.close();

}


window.clear(sf::Color::Blue); // fundo preto

window.draw(circle);

window.display();

}


return 0;

}



O código apresentará erros e não será compilado. Tente!

Devemos então fazer a configuração do projeto para acessar a biblioteca SFML. Seguirei as conforme as figuras abaixo:

1 - Selecione as propriedades do projeto (botão direito do mouse sobre o projeto e selecione a opção propriedades.)
2 - Na janela de propriedades procure a opção C/C++ Build
3 - Selecione a opção Settings.
Agora vamos inserir a informação sobre os includes:


1 - Selecione na opção opção "GCC C++ Compiler" a opção "Include.
2 - Clique no botão para adicionar uma biblioteca ( + em Libraries )
3 - Coloque o endereço em que você descompactou a biblioteca SFML seguida do diretório. Como usamos a SFML em C:\SFML deveremos colocar  C:\SFML\include na posição 3.

Agora na parte de Linkagem vamos inserir as informações sobre as dlls.
1 - Selecione MingW C++ Linker.

2 - Selecione Library.
3 - No botão + de Libraries (-l) por adicione uma a uma as três bibliotecas básicas:
sfml-graphics
sfml-audio (não está na imagem, pois o exemplo não usa som!)
sfml-window
sfml-system 
A ordem de adição é importante.
4 - Agora indique o local dos arquivos .a para o linker. Ele é o mesmo da include, porem termina em lib. No meu caso: C:\SFML\lib na posição 4.
5 - Aplique e feche.

Com isso seu Projeto já está configurado e deve remover os erros do código. Se isso não acontecer automaticamente selecione o projeto com o botão direito e escolha atualizar (ou pressione F5).

Compile o projeto.

1 - Utilize o botão de compilação .
2 - Verifique se a saída ocorreu sem erros.
3 - Veja que uma pasta com o arquivo .exe (binário) foi criada.

Observe que o editor pode ainda mostrar algumas linhas marcadas como erro ( como em ( sf::CircleShape), mas não se preocupe se a saída está como em 2 mostrando 0 erros.


Rode o programa:




1 - Selecione a setinha para baixo ao lado do botão de rodar.
2 - Selecione a opção 'Run as'
3 - Rode com uma "Local C/C++ Application".


Isso irá falhar pois faltam as dlls da SFML para executável do projeto.

A duas formas de resolver o problema. A indicada nesse tutorial em que copiamos as dlls para a pasta do exe do projeto.

Outra forma é mostrada abaixo. Basta referênciar a pasta bin da SFML na variável path do projeto do eclipse. Siga os passos abaixo para isso.

Com o projeto selecionado abra suas propriedades.


1 - Selecione C/C++ Build.
2 - Environment
3 - Clique em path
4  - Mande editar.
5 - Não apague o que já está presente, somente acrescente ao início o endereço da pasta bin da sua SFML, seguido de ; (c:\SFML\bin nos laboratórios).





Feito isso rode novamente.



Aparecendo a Janela temos a confirmação de que o projeto está configurado para trabalhar com as bibliotecas básicas da SFML.


Para um código mais elaborado envolvendo imagem, som, mouse e teclado veja o link a seguir: SFML - Matriz na tela

Obrigado!

Postar um comentário

0 Comentários