Biblioteca GRAFICA libAS - ALLEGRO/SDL

25. Re: Biblioteca GRAFICA libAS - ALLEGRO/SDL

Vinícius dos Santos Oliveira
vinipsmaker

(usa Arch Linux)

Enviado em 17/04/2009 - 14:48h

Recebi os arquivos fontes e deu erro:
[editado por mim para a boa visualização do tópico]


  


26. gokernel tentando resolver

???
gokernel

(usa Linux Mint)

Enviado em 17/04/2009 - 16:28h


----------------------------------------------------------------
vinicius@debian:~/temp/libAS$ gcc test.c -o test.bin as_base.c as_gui.c as_win.c as_obj.c -lalleg -DALLEGRO -I.\ -Wall
----------------------------------------------------------------

Cara aquele script "compile.bat" era para WINDOWS.
Como indicava no arquivo "teste.c".

---------------------------------------
SEUS ERROS:
falta o "as_font.c"
"-I.\" <-- isso NO WINDOWS É O PROPRIO DIRETORIO DO CODIGO.
---------------------------------------
DICA:
1 - SE LOG NO LINUX COMO SUPERUSUARIO.
2 - Va para o diretorio do CODIGO e digite:
OBS: Voce precisa a Biblioteca ALLEGRO INSTALADA.

gcc test.c -o test as_base.c as_gui.c as_win.c as_obj.c as_font.c -lalleg -DALLEGRO -Wall

PERGUNTA: Voce conpilou para SDL?

gokernel
gokernel@hotmail.com



27. complemantando

???
gokernel

(usa Linux Mint)

Enviado em 17/04/2009 - 17:06h

Desculpe foi erro meu pois so testei no WINDOWS.
Realmente existe uma DUPLICACAO DE DEFINES para ALLEGRO.

Voce sem querer ME AJUDOU. OBRIGADO.

No arquivo: "as.h"

Mova esses DEFINES(ate o 24) para a linha logo abaixo de: "#undef main"

// messages for the dialog procedures
#define MSG_START 1 // start the dialog, initialise
#define MSG_END 2 // dialog is finished - cleanup
#define MSG_DRAW 3 // draw the object
#define MSG_CLICK 4 // mouse click on the object
#define MSG_DCLICK 5 // double click on the object
#define MSG_KEY 6 // keyboard shortcut
#define MSG_CHAR 7 // other keyboard input
#define MSG_UCHAR 8 // unicode keyboard input
#define MSG_XCHAR 9 // broadcast character to all objects
#define MSG_WANTFOCUS 10 // does object want the input focus?
#define MSG_GOTFOCUS 11 // got the input focus
#define MSG_LOSTFOCUS 12 // lost the input focus
#define MSG_GOTMOUSE 13 // mouse on top of object
#define MSG_LOSTMOUSE 14 // mouse moved away from object
// NO exist "MSG_IDLE" SEE: GUI->idle( GUI )
//#define MSG_IDLE 15 // update any background stuff
#define MSG_RADIO 16 // clear radio buttons
#define MSG_WHEEL 17 // mouse wheel moved
#define MSG_LPRESS 18 // mouse left button pressed
#define MSG_LRELEASE 19 // mouse left button released
#define MSG_MPRESS 20 // mouse middle button pressed
#define MSG_MRELEASE 21 // mouse middle button released
#define MSG_RPRESS 22 // mouse right button pressed
#define MSG_RRELEASE 23 // mouse right button released
#define MSG_USER 24 // from here on are free...



#ifdef _SDL_H
#undef main
//mova para aqui <----------------------

#endif

gokernel
gokernel@hotmail.com



28. resolvendo TUDO

???
gokernel

(usa Linux Mint)

Enviado em 17/04/2009 - 17:59h


Estou te mandando o arquivo atualizado, via E-MAIL.

perdao o ERRO FOI MEU.

OBRIGADO, pois foi voce que me ajudou a identificar O PROBLEMA.

Se compilar correto ou der erro POST. OK.

gokernel
gokernel@hotmail.com




29. Re: Biblioteca GRAFICA libAS - ALLEGRO/SDL

Vinícius dos Santos Oliveira
vinipsmaker

(usa Arch Linux)

Enviado em 17/04/2009 - 18:31h

Não consegui instalar o SDL-dev, então acho que não vou conseguir compilar nada sdl.
Deu erro novamente com os novos arquivos:

[editado por mim (vinipsmaker) para uma boa visualização do tópico]


30. Re: Biblioteca GRAFICA libAS - ALLEGRO/SDL

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 17/04/2009 - 18:46h

gokernel, sugiro que ative o svn lá no sourceforge, senão um mexe daqui, outro dali e logo ficará inviável qualquer alteração. e enquanto isso, talvez fosse melhor disponibilizar as alterações como diffs.

segue um Makefile para quebrar o galho por enquanto.
depois, com mais calma, farei os scripts para autoconf, automake etc.
vou separar os fontes para compilar como biblioteca (static e shared), deixando o test em separado.

======================================================
CC=gcc
CFLAGS=-Wall -O2

ifndef (ENGINE)
ENGINE=SDL
endif

ifeq ($(ENGINE),SDL)
ENGINE_FLAGS=$(shell sdl-config --cflags)
ENGINE_LIBS=$(shell sdl-config --libs)
else ifeq ($(ENGINE),ALLEGRO)
ENGINE_FLAGS=$(shell allegro-config --cflags)
ENGINE_LIBS=$(shell allegro-config --libs)
endif

OBJ=as_base.o as_font.o as_gui.o as_obj.o as_win.o test.o

test: $(OBJ)
$(CC) -Wall -o test $(OBJ) $(ENGINE_LIBS)

.c.o:
$(CC) $(CFLAGS) -D$(ENGINE) $(ENGINE_FLAGS) -o $@ -c $<

as_base.o: as_base.c as.h
as_font.o: as_font.c as_font.h as.h
as_gui.o: as_gui.c as.h
as_obj.o: as_obj.c as.h
as_win.o: as_win.c as.h
test.o: test.c as.h

clean:
rm -rf *.o

cleanall: clean
rm -f test
======================================================

salve como Makefile. o engine padrão é o sdl. então:
$ make
ou
$ make ENGINE=SDL
para compilar com suporte sdl
e
$ make ENGINE=ALLEGRO
para suporte a allegro


31. ALGUEM COMPILOU?

???
gokernel

(usa Linux Mint)

Enviado em 17/04/2009 - 19:38h


Eu sei que Sam L. compilou, pois ja me respondeu anteriormente.

mslomp voce conseguiu compilar?

ALLEGRO e SDL.

DEU ERRO? QUIS?

gokernel
gokernel@hotmail.com




32. Re: Biblioteca GRAFICA libAS - ALLEGRO/SDL

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 17/04/2009 - 19:48h

sim, compilei tanto para sdl quanto para allegro, mas tive que fazer algumas pequenas alterações para compilar com allegro.
depois lhe envio o resultado.

EDIT: acabei de ver suas alterações, e então apenas fiz uma pequena alteração no Makefile. para quem não conseguiu compilar com allegro, utilize essa 'nova versão' do Makefile:

===========================================
CC=gcc
CFLAGS=-Wall -O2

ifndef (ENGINE)
ENGINE=SDL
endif

OBJ_COMMON=as_base.o as_gui.o as_obj.o as_win.o test.o

ifeq ($(ENGINE),SDL)
ENGINE_FLAGS=$(shell sdl-config --cflags)
ENGINE_LIBS=$(shell sdl-config --libs)
OBJ=as_font.o $(OBJ_COMMON)
else ifeq ($(ENGINE),ALLEGRO)
ENGINE_FLAGS=$(shell allegro-config --cflags)
ENGINE_LIBS=$(shell allegro-config --libs)
OBJ=$(OBJ_COMMON)
endif

test: $(OBJ)
$(CC) -Wall -o test $(OBJ) $(ENGINE_LIBS)

.c.o:
$(CC) $(CFLAGS) -D$(ENGINE) $(ENGINE_FLAGS) -o $@ -c $<

as_base.o: as_base.c as.h
as_font.o: as_font.c as_font.h as.h
as_gui.o: as_gui.c as.h
as_obj.o: as_obj.c as.h
as_win.o: as_win.c as.h
test.o: test.c as.h

clean:
rm -rf *.o

cleanall: clean
rm -f test
===========================================

e então:
$ make ENGINE=ALLEGRO


33. Re: Biblioteca GRAFICA libAS - ALLEGRO/SDL

???
gokernel

(usa Linux Mint)

Enviado em 17/04/2009 - 21:45h


------------------------------------------------------------------
gokernel, sugiro que ative o svn lá no sourceforge, senão um mexe daqui, outro dali e logo ficará inviável qualquer alteração.
------------------------------------------------------------------

mslomp.

svn? O que é isso.

ONDE ENCONTRAR?

gokernel
gokernel@hotmail.com



34. Re: Biblioteca GRAFICA libAS - ALLEGRO/SDL

Vinícius dos Santos Oliveira
vinipsmaker

(usa Arch Linux)

Enviado em 17/04/2009 - 22:16h

vinicius@debian:~$ allegro-config --version
4.2.2

fiz com o makefile mais recente
-------------------------------------------------------------------------

vinicius@debian:~/temp/libAS (2)$ make
make: sdl-config: Comando não encontrado
makefile:21: *** faltando o separador. Pare.
vinicius@debian:~/temp/libAS (2)$ make ENGINE=ALLEGRO
makefile:21: *** faltando o separador. Pare.

-------------------------------------------------------------------------

svn, git e cvs são sistemas de controle de versões que permitem que vários desenvolvedores trabalhem em um mesmo código-fonte, projetos open-source costumam ter muitos desenvolvedores e precisam usar um sistema de controle de código-fonte avançado para desenvolverem na mesma proporção que o número de desenvolvedores. eu sei tudo isto, mas não sei usar nenhum deles.


35. Re: Biblioteca GRAFICA libAS - ALLEGRO/SDL

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 17/04/2009 - 22:21h

nem esquenta, esse problema na hora do make é porque o Makefile perdeu a formatação aqui no vol.
diga seu e-mail que lhe envio o arquivo formatado corretamente. (seu e-mail sumiu dos posts anteriores)

EDIT:
sobre o svn, há um ótimo artigo explicando o básico de forma simples e direta:
http://www.ultimolog.com/2007/05/29/controle-de-versao-com-subversion-svn-rapido-e-pratico
depois, sugiro que procure o svn-book. há uma versão em português.

em um resumo resumido, o svn permite que várias pessoas trabalhem ao mesmo tempo no código fonte, de modo que, por exemplo, o que eu modificar aqui você de pronto terá acesso, e essas modificações já irão se agregar ao código que você está mexendo aí, sem que seja preciso editar à mão, e evitando que minhas alterações afetem as suas e vice-versa.


36. e como FAÇO ESSE TROÇO?

???
gokernel

(usa Linux Mint)

Enviado em 18/04/2009 - 11:10h


mslomp.

E como eu FAÇO ESSE TROÇO, foi uma ideia legal do SOURCEFORGE?

gokernel
gokernel@hotmail.com






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts