Glaudiston 的个人资料Site pessoal de Glaudist...照片日志列表更多 ![]() | 帮助 |
|
12月23日 Desafio, um jogo 2D até dia 23-12-2007 ... Feito!No início deste mês aceitei um desafio do meu amigo Bill Guedes no forum programadoresdejogos.com.br, aqui está o desafio: http://www.programadoresdejogos.com/forum/viewtopic.php?t=9193&postdays=0&postorder=asc&start=0 Se trata de um desafio para testar os conhecimento e capacidades de colocar estes conhecimentos em prática: "Quem consegue fazer um jogo do tipo space invaders até o dia 23 ?". Como achei a idéia simples, e eu tinha outras prioridades, trabalhei pouco nela, só peguei firme nesta ultima semana, quando acordei do fato que o prazo estava acabando. No final das contas, fiquei satisfeito com o resultado, fiz o jogo com usando o autotools, em bibliotecas divididas para o ambiente, o menu e o jogo em si. Coloquei audio... e está bem jogável. Sei que tem alguns detalhes errados, e falta algumas coisas do que eu havia pensado em fazer, mas já está bom. Pelo meno concluí a tempo. Quem quiser testar este jogo "beta", pegue-o no meu projeto bombas.sf.net no link de downloads 12月10日 autotools parte2 - adicionando dependenciasBem, no artigo anterior, já expliquei como funciona o autotools: http://glaudiston.spaces.live.com/blog/cns!50A3054EE15AB96C!298.entry Agora vou explicar como adicionar dependências. Neste exemplo, vou puxar pro lado de desenvolvimento de games, usando SDL que é uma biblioteca portável, que tem funções de controle de hardware entre outras coisas que facilitam muito nossa vida, e outras bibliotecas derivadas do SDL, como o SDL_image para controle de imagens de vários formatos, o SDL_mixer para o controle de mid, wav, ogg e mp3, o SDL_gfx, para rotação e zoom de imagens ou filmes, o SDL_mpeg para reprodução de filmes... etc. Vamos começar com a teoria: Pelo que já vimos, você deve ter percebido que o autotools trabalha com macros, macros são funções prontas, programas que você passa um comando com parâmetros ou não e eles executam determinadas funções. Você também já deve ter percebido que estas configurações são centralizadas nos arquivos configure.ac e Makefile.am. Sim... continua assim, porém vamos colocar mais um arquivo importante: o acinclude.m4 . acinclude.m4: Este arquivo é uma forma de adicionar macros que podem ser usadas dentro do configure.ac, por exemplo: o Sam Lantinga, desenvolvedor do SDL, criou um arquivo chamado sdl.m4 que está no código fonte do SDL, você pode baixar este código na página do SDL em http://www.libsdl.org, e copiar este arquivo sdl.m4 para o nosso diretório base. depois disto é só adicionar sdl.m4 em nosso arquivo acinclude.m4.in ou acinclude.m4, adicionar o teste desta biblioteca no arquivo configure.ac e executar o autogen.sh Depois de copiar o sdl.m4, só é necessário adionar uma linha com o conteudo sdl.m4 no acinclude.m4.in ... NÃO é preciso nada como #include sdl.m4 ... apenas o sdl.m4... depois disto o script de teste no configure.ac, deve ser colocado na parte de libraries é assim: dnl Check for SDLPara mais informações, consulte o artigo: http://www.samhart.com/snh/files/docs/sdl-kdev/sdl-kdev-mini-how2-2.html Agora se tudo está certo, você pode executar nosso script de reconfiguração (vide artigo anteiror citado acima): $ sh autogen.sh O resultado esperado é: sh autogen.sh checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for sdl-config... /usr/bin/sdl-config checking for SDL - version >= 1.2.0... yes configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands Observe que agora temos uma parte onde o SDL está sendo checado por uma versão superior à 1.2.0 Isto é suficiente pro SDL, mas e quando temos outras dependências que não nos dão as macros m4 prontas ? A primeira coisa é procurar no google... muitas vezes, no código fonte não vem o arquivo m4, mas alguém criou e postou em algum lugar. Então, se você encontrar vai simplificar muito seu configure.ac da forma q fizemos acima. Mas se o google não achar ? como fazer ? Neste caso, você pode criar seu arquivo m4, ou pode simplesmente adicionar o uma verificação no configure.ac, só q vai poluir um pouco nosso arquivo configure.ac que até então está bem simples. Depois vou postar mais entrada a respeito disto: autotools, criando seu próprio m4. Por hora é só. Tenho que fazer algum código também Abs, Ton 12月7日 ifconfig não funciona??? net-tools!!!Hahaaa!!! Usando o LinuxFromScratch, e tentando executar alguns programas que configuram VPN, tive vários problemas, e testando, descobri que o problema é que o ifconfig que eu estava usando era o do netutils, e não o do net-tools... segue alguns: 'ifconfig: can not resolve`down`: No address associated with name" "ifconfig: cannot resolve `up': No address associated with name" "ifconfig eth0 up" "ifconfig: can not resolve `up': Unknown host" # ifconfig -a ifconfig: option requires an argument -- a Usage: ifconfig [OPTION]... [SYSTEM OPTION]... Try `ifconfig --help' for more information.': No address associated with name" "ifconfig: can not resolve `up': No address associated with name" "ifconfig eth0 up" "ifconfig: can not resolve `up': Unknown host" # ifconfig -a ifconfig: option requires an argument -- a Usage: ifconfig [OPTION]... [SYSTEM OPTION]... E o incrível, é q o google não acha nenhum resultado com a maioria destas pesquisas. O LFS Book bem q me avisou pra não instalar o ifconfig do netutils... mas não disse q tinha ifconfig no net-tools tbm... então eu q fiquei quebrando a cabeça e consegui resolver com a ajuda do Guedes... valeu mais esta Bill! resumindo, é só instalar o net-tools: http://www.linuxfromscratch.org/blfs/view/stable/basicnet/net-tools.html Abs |
|
|