[RESOLVIDO] Como compilar UGDK+HorusEye

Oi, pessoal

Fui pegar o Horus Eye e a UGDK no git, mas não consegui compilar o jogo. ¬¬"
Exatamente o que eu fiz foi:

Baixei a UGDK e o Horus Eye do repositório;
Entrei na pasta da UGDK;
Descomentei no configure a linha do cmake e passei para cmake -DLINK_TYPE=STATIC -DBUILD_TYPE=RELEASE .
Depois,

$ .configure
$ make
$ cp lib/libugdk.a ../horus_eye/lib/

OBS: a compilação teve um warning.

Em seguida fui para a pasta do Horus Eye;

$ cmake .
$ make

A compilação também dá dois warnings, mas na hora de fazer o link é que dá erro de verdade:

Linking CXX executable horus_eye
/usr/bin/ld: cannot find -lugdk_d
collect2: ld returned 1 exit status
make[3]: *** [horus_eye] Error 1
make[2]: *** [CMakeFiles/horus_eye.dir/all] Error 2
make[1]: *** [CMakeFiles/horus_eye.dir/rule] Error 2
make: *** [horus_eye] Error 2

Alguma dica do que pode estar acontecendo?

Desde já, agradeço.

Vinícius

O jeito mais fácil é tentar compilar as branches de release, que são estáveis.

Primeira coisa:

$ git clone git@github.com:uspgamedev/horus_eye.git $ cd horus_eye $ git checkout v1.1.x

$ git clone git@github.com:uspgamedev/ugdk.git $ cd ugdk $ git checkout v0.2.x

No branch de release dos dois repositórios tem um HOW_TO_COMPILE.txt na pasta raiz. Só dar uma lida, mas basicamente o que faltou foi vc compilar a ugdk em modo debug. O cmake do horus eye tem/tinha um erro que exigia sempre ou as 2 versões da ugdk ou apenas a de debug, não lembro agora qual.

Além disso, use o scrrpt de deploy da ugdk:

$ ./configure
$ cmake .
$ make
$ ./deploy.sh /path/to/horus_eye

O script de deploy dá um erro no final, por que ele tenta copiar arquivos *.so mas não há nenhum arquivo desse tipo.
O que funcionou mesmo foi compilar a UGDK em modo de DEBUG.
Obrigado pela ajuda, Henrique e Wil!

Na próxima quinta, podemos conversar sobre algumas coisas relacionadas a isso, como por exemplo:

  • Consistência dos arquivos README e HOW_TO_*
  • Automatização de tarefas usando scripts

Além disso, há mais algumas outras coisas que notei no jogo sobre as quais também tenho perguntas/sugestões, mas que não são pertinentes a esse tópico. Então, a gente fala sobre isso pessoalmente.

Valeu!
Vinícius

A mensagem de erro na verdade é um warning. O script funciona mas não avisa que funcionou XD

O release ta parado precisamente pq precisa de gente para revisar os README e HOW_TO_COMPILE, além de testar se ta rodando bem em diversas máquinas.