Instalando a Allegro 5 no Mac OS (OSX Mavericks)

Olá pessoal!

Essa semana precisei instalar a Allegro 5 no Mac devido a um treinamento que estou ministrando e, putz, suei um pouco para fazer tudo funcionar da forma correta! Então vou aqui passar o caminho das pedras pro pessoal que precisa ou quer fazer o mesmo 🙂

O primeiro passo é instalar algum gerenciador de pacotes, como o Homebrew ou o MacPorts. Após instalados, vamos baixar as dependências para a compilação da biblioteca.

sudo port install cmake zlib freetype jpeg libogg physfs libpng flac libtheora +universal

ou

brew install cmake zlib freetype jpeg libogg physfs libpng flac libtheora

Após a obtenção dos pacotes, entra um ajustezinho para que, durante a compilação, o cmake encontre corretamente a biblioteca FreeType (que, por algum motivo é instalada em um local não-padrão). Precisei rodar um comando para criar um link no diretório padrão para ela:

sudo ln -s /usr/local/opt/freetype/include/freetype2 /usr/local/include/freetype

Depois disso, é só baixarmos o código-fonte da Allegro (pode ser a versão 5.0 ou 5.1) e descompactar. Abra o terminal, navegue até a pasta onde ele foi descompactado e digite os seguintes comandos:

mkdir build

cd build

cmake ..

make

sudo make install

E pronto! Ah, uma dica a mais é que, no Mac, precisei sempre adicionar a opção de linker -lallegro_main. Caso contrário, ocorre um erro parecido com o seguinte:

Undefined symbols for architecture x86_64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64

Valeu pessoal, até a próxima 🙂

Captura de tela 2014-08-21 23.51.09

2 comentários sobre “Instalando a Allegro 5 no Mac OS (OSX Mavericks)

  1. Clóvis disse:

    Prezado Rafael, primeiro gostaria de parabenizá-lo pelos seus tutoriais, são muito bons!!! Muito obrigado pela iniciativa. Bom, estou com um probleminha ao usar o Allegra, o problema surge na compilação, uso gcc em um Mac, quanto tento compilar o seu primeiro exemplo surge o seguinte erro:

    gcc all1.c -o all1 $(pkg-config –cflags –libs allegro-5) -lallegro
    In file included from all1.c:2:
    In file included from /usr/local/include/allegro5/allegro5.h:1:
    In file included from /usr/local/include/allegro5/allegro.h:26:
    In file included from /usr/local/include/allegro5/base.h:50:
    In file included from /usr/local/include/allegro5/internal/alconfig.h:28:
    /usr/local/include/allegro5/platform/alplatf.h:2:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_MINGW32
    ^
    /usr/local/include/allegro5/platform/alplatf.h:3:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_UNIX
    ^
    /usr/local/include/allegro5/platform/alplatf.h:4:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_MSVC
    ^
    /usr/local/include/allegro5/platform/alplatf.h:5:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_D3D
    ^
    /usr/local/include/allegro5/platform/alplatf.h:6:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_D3D9EX
    ^
    /usr/local/include/allegro5/platform/alplatf.h:7:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_OPENGL
    ^
    /usr/local/include/allegro5/platform/alplatf.h:8:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_MACOSX
    ^
    /usr/local/include/allegro5/platform/alplatf.h:9:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_BCC32
    ^
    /usr/local/include/allegro5/platform/alplatf.h:10:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_IPHONE
    ^
    /usr/local/include/allegro5/platform/alplatf.h:11:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_ANDROID
    ^
    /usr/local/include/allegro5/platform/alplatf.h:12:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_RASPBERRYPI
    ^
    /usr/local/include/allegro5/platform/alplatf.h:13:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_NO_FPU
    ^
    /usr/local/include/allegro5/platform/alplatf.h:14:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_DLL_TLS
    ^
    /usr/local/include/allegro5/platform/alplatf.h:15:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_PTHREADS_TLS
    ^
    /usr/local/include/allegro5/platform/alplatf.h:16:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_RELEASE_LOGGING
    ^
    /usr/local/include/allegro5/platform/alplatf.h:18:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_SHADER_GLSL
    ^
    /usr/local/include/allegro5/platform/alplatf.h:19:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_SHADER_HLSL
    ^
    /usr/local/include/allegro5/platform/alplatf.h:21:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_OPENGLES
    ^
    /usr/local/include/allegro5/platform/alplatf.h:22:2: error: invalid preprocessing directive
    #cmakedefine ALLEGRO_CFG_OPENGLES2
    ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    20 errors generated.

    Gostaria de saber se você pode me ajudar!!! Desde já muito obrigado!!!

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.