Como instalar o MingW com o Allegro no Windows ?

O propósito deste texto é descrever detalhadamente a instalação do MinGW (http://www.mingw.org/) conjuntamente com a biblioteca para desenvolvimento de jogos Allegro (http://www.talula.demon.co.uk/allegro/ ou http://alleg.sourceforge.net/).

O MinGW é, grosseiramente, uma versão do compilador C da GNU (GCC – http://gcc.gnu.org/) para Windows, permitindo então compilar programas C/C++ neste ambiente de forma muito eficiente.

O Allegro é uma biblioteca multiplataforma que inclui muitas funções úteis no desenvolvimento de jogos, como funções gráficas (2D e 3D), áudio, controle de teclado/mouse/joystick e timer. Funciona de forma muito simples e permite a geração de códigos praticamente idênticos em todas as plataformas em que está disponível, dentre as quais Windows, Linux e DOS.

Conjuntamente com um editor de textos (nossa preferência pessoal é pelo XEmacs – http://www.xemacs.org/ pois tem uma funcionalidade única para escrever o código, mas outra forte indicação é o Dev-C++ – http://www.bloodshed.net/ que é um ambiente integrado que funciona com o MinGW; mas qualquer outro editor de sua preferência serve) temos um ambiente de desenvolvimento de jogos básico completo.

Parte I – O que devo pegar?

Para instalar o MinGW e o Allegro, você deverá baixar os seguintes pacotes:

i) A distribuição completa do MinGW, atualmente em um único arquivo de instalação, que se encontrava na época deste texto em http://prdownloads.sourceforge.net/mingw/MinGW-1.1.tar.gz

ii) Os seguintes utilitários adicionais portados para MinGW:

  • fileutils: consiste em utilitários para lidar com arquivos muito úteis, principalmente na linha de comando ou makefiles. Pegue a versão disponível em ftp://ftp.franken.de/pub/win32/develop/gnuwin32/mingw32/porters/Mikey/fileutils316-ming.tar.bz2
  • sed: é necessário pra compilar o Allegro. Pegue em ftp://agnes.dida.physik.uni-essen.de/home/janjaap/mingw32/binaries/sed-2.05.zip
  • bzip2: você vai precisar pra abrir o fileutils acima. Pegue em http://prdownloads.sourceforge.net/mingwrep/bzip2-1.0.1-20011028.zip

iii) O Allegro propriamente dito com o arquivo para fazer interface com o DirectX no Windows. Vá à página de download da última versão estável do Allegro (4.2) – http://alleg.sourceforge.net/wip.html – e baixe os seguintes arquivos com source para windows:

  • all400.zip (http://prdownloads.sourceforge.net/alleg/all420.zip?download)

E APENAS UM dos arquivos abaixo, dependendo da versão do DirectX que você deseja dar suporte:

  • dx70_mgw.zip (não confunda com dx70_min.zip!) – http://alleg.sourceforge.net/files/dx70_mgw.zip
  • dx80_mgw.zip – http://alleg.sourceforge.net/files/dx80_mgw.zip

Parte II – Configurando o MingW e preparando para instalar o Allegro

Comece pela instalação do pacote do MinGW, descompactando o arquivo no diretório que deseja que ele fique instalado. O usual é algo como c:mingw32 (pessoalmente prefiro c:mingw pois mingw32 é um nome ultrapassado do projeto). Este arquivo pode ser descompactado com o Winzip. De agora em diante, vamos assumir que a instalação foi feita em c:mingw.

O diretório c:mingwbin deve ser incluído no início do seu path (caso você use DJGPP também: antes da inclusão do diretório dele!), sendo que isso pode ser feito de várias formas, sendo as mais comuns:

  • Windows 9x: editando seu arquivo c:autoexec.bat alterando a linha do path ou simplesmente incluindo no final deste arquivo a linha “path c:mingwbin;%PATH%”
  • Windows NT (inclui 2000,XP e Me): abra o Painel de Controle, vá em “Sistema” e então na aba “Avançado” e finalmente no botão “Ambiente”. Selecione PATH= e adicione “c:mingwbin”.
  • Da mesma forma, a seguinte linha deve ser inserida no c:autoexec.bat : “set MINGDIR=c:mingw”. (Caso você utilize Windows XP ou NT, no mesmo menu descrito no ítem anterior, crie uma variavel denominada MINGDIR e atribua a ela o valor c:mingw. Não utilize autoexec.bat).

Após estas alterações nos arquivos de inicialização será necessário que você reinicie o computador. Vá então em uma janela DOS/CONSOLE e digite a seguinte linha para testar a instalação: “gcc -v”. O resultado deve ser algo como:”Reading specs from C:MINGWBIN..libgcc-libi386-mingw32msvc2.95.3specs gcc version 2.95.3 20010726 (release)”.

Instale agora o pacote sed e bzip2, descompactando-os para o diretório do MinGW (aponte o winzip para c:mingw portanto). Em seguida, na janela DOS, vá ao diretório onde está o arquivo do fileutils e rode o comando “bunzip2 fileutils316-ming.tar.bz2” (este comando deverá funcionar se você descompactou direito o arquivo bzip2 e incluiu c:mingw no seu PATH adequadamente e irá descompactar o arquivo fileutils316-ming.tar.bz2 para fileutils316-ming.tar o qual o Winzip pode lidar). Então descompacte com o Winzip o arquivo fileutils316-ming.tar gerado por este último comando para o diretório do MinGW como acima.

Descompacte da mesma forma os arquivos do Allegro para o diretório do MinGW (c:mingw), e quando for descompactar o arquivo dx70_mgw.zip (ou o dx80_mgw.zip – depende de qual arquivo você pegou) e sobrescreva todos os arquivos existentes.

Pronto! Basta agora configurar o Allegro e então compilá-lo!

Parte III – Compilando o Allegro

Se você chegou até aqui, não deverá ter mais problemas (estamos considerando apenas a instalação padrão. Se você quer algo mais sofisticado, certamente sabe do que está falando e não precisa deste tutorial!).

Os comandos a seguir devem ser executados em uma janela DOS/CONSOLE. Para compilar o Allegro devemos preparar os arquivos de configuração para avisar de que a compilação será com o MinGW e então mandar compilar o mesmo. Para isso, basta seguir os seguintes passos, digitando os comandos entre aspas na linha de comando:

1. Vá ao diretório do Allegro: “cd c:mingwallegro”
2. Rode o arquivo de configuração do allegro: “fix.bat mingw32”
3. Finalmente vamos compilar o Allegro: “make”
4. Tome um café…(dependendo da sua máquina, considere jogar uma partida de xadrez)
5. Basta então mandar instalar a biblioteca: “make install”

Pronto! O Allegro está instalado! Você poderá ver vários exemplos no diretório c:mingwallegroexamples e uma demo muito interessante em c:mingwallegrodemo . A documentação básica do Allegro está no diretório c:mingwallegrodocs e é muito indicado que você veja o link de tutoriais na página da biblioteca, principalmente o Vivace se você for iniciante.

Caso você deseje informações mais detalhadas, este texto foi feito com base no processo que usei para instalar no meu computador, mas foi fortemente influenciado pela documentação nos sites citados e na documentação da configuração e instalação do Allegro,constantes do diretório de documentação que acompanha a biblioteca.

Bom código!