Acesse http://opensnc.sourceforge.net/home/index.php e baixe o fonte. Antes de compilar, voce precisa instalar o dumb e o allegro.
O allegro eu instalei com o mac ports:
sudo port install allegro
O dumb eu baixei do site e compilei. http://dumb.sourceforge.net/
Depois dessas duas bibliotecas instaladas e configuradas no diretório /opt/local (onde o ports coloca suas coisas), fiz algumas modificações para compilar o opensonic no macos:
Editei o src/player.h e comentei a linha 23 (ninguém precisa do #include math.h
[ 7%] Building C object CMakeFiles/opensonic.dir/src/boss.o
In file included from /usr/include/math.h:28,
from /Users/barroca/Desktop/opensnc/opensonic/trunk /src/player.h:23,
from /Users/barroca/Desktop/opensnc/opensonic/trunk/src/boss.h:24,
from /Users/barroca/Desktop/opensnc/opensonic/trunk/src/boss.c:20:
/usr/include/architecture/i386/math.h:385: error: syntax error before 'int'
make[2]: *** [CMakeFiles/opensonic.dir/src/boss.o] Error 1
make[1]: *** [CMakeFiles/opensonic.dir/all] Error 2
make: *** [all] Error 2
Como fiquei com preguiça de depurar, comentando a linha 23 do arquivo ele não inclui o math.h, da uns Warnings de compilação, mas funciona.
Depois executei /opt/local/bin/allegro-config --env e incluí essa caralhada toda nas variáveis de ambiente:
export PATH=$PATH:/opt/local/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/local/lib
export LIBRARY_PATH=$LIBRARY_PATH:/opt/local/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/opt/local/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/opt/local/include
export OBJC_INCLUDE_PATH=$OBJC_INCLUDE_PATH:/opt/local/include
Por último editei o arquivo CMakeLists.txt e troquei:
SET(ALLEGRO_UNIX_LIBS "-L/usr/lib -Wl,--export-dynamic -lalleg-4.2.2 -lalleg_unsharable")
por:
SET(ALLEGRO_UNIX_LIBS "-L/opt/local/lib -lalleg-4.2.2 -lalleg-main -framework Cocoa")
Para voce saber o que colocar no lugar dessa variável, use o comando:
/opt/local/bin/allegro-config --libs
e coloque a saída dele nessa variável, no meu caso:
-L/opt/local/lib -lalleg-4.2.2 -lalleg-main -framework Cocoa
Pronto, agora:
cmake .
e depois
make
Apesar dos Warnings de compilação, o opensonic funciona:
Nenhum comentário:
Postar um comentário