Ver la versión completa : Tutorial: SDL - Entorno de Programacion Win/GP32
D_Skywalk
31/08/2005, 11:45
Bueno primero agradecer a Chui su trabajo con el port de SDL ya que sin el este tutorial, no tendria mucho sentido y tambien agradecer a la gente de devkitpro, por sus fantasticos screenshots xDDD
Este entorno esta pensado para que podamos trabajar desde Windows, testeando nuestros programas en Zuindows y cuando realmente queramos ver como "anda" en la GP compilamos para ella ese mismo source y lo pasamos a nuestra SMC viendo el resultado final. Con esto yo me he ahorrado algun quebradero de cabeza y menos gasto de pilas al no tener que compilar cada vez, etc... Todo ello sin contar lo utiles que son las librerias en si ;)
Si quereis mas informacion de como usarlas y aprovechar el trabajo de Chui: www.libsdl.org
Lo primero que debes hacer es decidir la ruta de donde quieres que descanse tu entorno de desarrollo, en este tutorial voy a usar:
C:\DevkitPro
Si tu deseas usar una ruta o unidad diferente, ten encuenta luego los cambios ;)
Primero necesitamos compilador y librerias para gp32:
devkitARM_r11-win32.exe (este es el que uso yo)
o
devkitARM_r15-win32.exe (la ultima version a dia de hoy)
http://sourceforge.net/project/showfiles.php?group_id=114505&package_id=124207 (todas las versiones)
Yo os recomiendo que bajeis la r11, aunque sea mas antigua es la version con la que Chui ha compilado sus librerias de SDL y puede que os de problemas usar una version diferente del compilador, mi recomendacion es que bajeis esto:
http://prdownloads.sourceforge.net/devkitpro/devkitARM_r11-win32.exe?download
Aunque siempre teneis la opcion de bajaros los Sources de Chui y compilarlos para vuestra version de GCC:
http://prdownloads.sourceforge.net/sdl-gp32/sdl4gp32-src-28082005.tar.bz2
Dicho esto, descomprimimos en el directorio donde hayamos elegido anteriormente, en mi ejemplo C:\DevkitPro
http://gp32.dantoine.org/imgs/tut_extract.png
Y si ves que el directorio del "devkitARM" tiene un nombre diferente como: "devkitarm_rXX" renombralo para que quede como: "devkitARM".
Ahora bajamos de http://www.mingw.org/download.shtml
MinGW-4.1.1.exe
Y
MSYS-1.0.10.exe
y los instalamos en nuestro directorio de devkitPRO...
http://gp32.dantoine.org/imgs/tut_msys.png
Cuando termine la instalacion de Msys, apareceran unas preguntas que nos preguntaran donde tenemos instalado el MinGW, debes decirle la ruta con la barra del "7" (mira el ejemplo). Yo por ejemplo tengo: "C:/devkitpro/MinGW" :)
Añadimos las variables necesarias de entorno de usuario y de sistema:
Os dejo un screenshot de ejemplo y mis rutas, solo amoldadlas a la ruta que vosotros hayais elegido...
En sistema cambiamos el PATH:
http://gp32.dantoine.org/imgs/tut_variables.png
C:\devkitPro\MinGW\bin;C:\devkitPro\msys\bin;C:\de vkitPro\devkitARM\bin
Y en usuario agregamos tres nuevas variables:
http://gp32.dantoine.org/imgs/tut_newvar.png
DEVKITARM || /C/devkitPro/devkitARM
DEVKITPRO || /c/devkitPro
GP32PATH || /opt
Para saber que tenemos bien instalado el entorno entramos en MSYS y ejecutamos:
skywalker@SSTT ~
$ arm-elf-gcc --version
arm-elf-gcc.exe (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
skywalker@SSTT ~
$ gcc --version
gcc.exe (GCC) 3.4.2 (mingw-special)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
La version 3.4.4 es de la r11, si bajasteis la r15 o una superior supongo que sera algo como: 4.x.y
Bien si tenemos este resultado ya tenemos nuestro entorno listo, sino volved a repetir los pasos anteriores por que algo habeis olvidado ;)
Antes de continuar necesitamos crear un directorio para alojar nuestros ficheros...
en MSYS ejecutamos:
$ mkdir /opt
Ahora vamos a instalar el SDL oficial (x86), para compilar aplicaciones en Windows y que nos sirva de testeo; Chui usa la version 1.2.8 y aunque la ultima oficial es la 1.2.9 mejor ceñirnos a la version que usaremos en la gp para evitar posibles problemas :?
http://www.libsdl.org/release/SDL-devel-1.2.8-mingw32.tar.gz y lo guardamos en el directorio /opt (lo encontrareis en msys\opt)
y ahora siguiendo un poco el tutorial que tiene chui en su pagina hacemos:
$ cd /opt/
$ tar xzvf SDL-devel-1.2.8-mingw32.tar.gz
$ cd SDL-1.2.8/
$ mv bin/* /usr/bin/
$ mv include/SDL /mingw/include/
$ mv lib/* /mingw/lib/
(ahora estos pasos creo que no son estrictamente necesarios pero los haremos no obstante :P)
$ mkdir /usr/share
$ mkdir /usr/share/aclocal
$ mv share/aclocal/* /usr/share/aclocal/
Ahora renombramos el archivo de configuracion que usa SDL:
$ cp /usr/bin/i386-mingw32msvc-sdl-config /usr/bin/sdl-config
Ahora debemos editar el archivo sdl-config que tenemos en MSYS/BIN
En la primera linea tenemos algo como:
prefix=/usr/local/cross-tools/i386-mingw32msvc
Pues lo cambiamos a nuestro entorno:
prefix=/mingw
Guardamos y ejecutamos de nuevo en MSYS:
$ sdl-config --cflags
Que dara como salida:
-I/mingw/include/SDL -Dmain=SDL_main
Por ultimo (paso opcional) vamos a comprobar que el SDL esta correctamente instalado compilando los test, en MSYS ejecutamos:
$ cd /opt/SDL-1.2.8/test/
$ ./configure
y empezara a compilar, si nos diera un problema algo asi como...
Checking for sdl-config... no
Es que no puede encontrar el fichero de configuracion, vuelve a mirar el paso donde lo copiamos mas arriba...
checking for SDL - version >= 1.2.7... no
*** The sdl-config script installed by SDL could not be found
*** If SDL was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the SDL_CONFIG environment variable to the
*** full path to sdl-config.
configure: error: *** SDL version 1.2.7 not found!
Es que la ruta del fichero sdl-config no es correcta, revisa el fichero de nuevo
Si todo fue correcto el resultado tiene que ser algo como esto:
checking for sdl-config... /bin/sdl-config
checking for SDL - version >= 1.2.7... yes
checking for OpenGL support... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
skywalker@SSTT /opt/SDL-1.2.8/test
$
Bien, ponemos "make" y a esperar un poquito mas :)
Es posible (aunque no deberia) que en uno de estos pasos nos dijera que no puede encontrar la SDL.dll (o similar) teneis esa dll en msys\bin os la pide por que no puede encontrarla en el sistema, para solucionarlo copiadla en vuestro directorio de "windows" o en "windows\system" para ser algo mas correctos ;)
Si todo va bien podriamos ejecutar sin problemas, por ejemplo:
$ testsprite.exe
$ testgl.exe
$ testalpha.exe
....
Listo ya podriamos compilar un programa en windows pero aqui hemos venido a trabajar para nuestra querida GP32, ¡¡Pues vamos a ello!! xD
Bajamos los ficheros necesarios de http://prdownloads.sourceforge.net/sdl-gp32/?sort_by=date y los guardamos en opt
http://prdownloads.sourceforge.net/sdl-gp32/sdl4gp32-precompiled-28082005.tar.bz2
Y/O
http://prdownloads.sourceforge.net/sdl-gp32/examples-src-28082005.tar.bz2 (opcional para compilar los ejemplos)
$ cd /opt
$ tar xjvf sdl4gp32-precompiled-28082005.tar.bz2
Y si queremos tambien compilar los ejemplos:
$ cd
$ mkdir gp32
$ cd gp32
$ tar xjvf /opt/examples-src-28082005.tar.bz2
Ahora entramos en cualquier ejemplo y lo compilamos...
$ cd fonts/
skywalker@SSTT ~/gp32/fonts
$ make
arm-elf-as -o crt0x_gp32.o crt0x_gp32.s
arm-elf-gcc -I/opt/include/SDL -I/opt/include -mtune=arm920 -march=armv4t -marm -mno-thumb-interwork -msoft-float -ffast-math -nostdlib -fno-common -ffreestanding -fno-builtin -fno-exceptions -mstructure-size-boundary=8 -fomit-frame-pointer -fstrict-aliasing -O6 -DGFXST -DGP32 -DGP32_LIBC -Wall -Wno-switch -DUSE_FIXED_POINT -c -o fonts.o fonts.c
arm-elf-ld -Map fonts.map -nostartfiles --script arm-gp32bin.x -L/opt/lib crt0x_gp32.o fonts.o -lSDL_gfx -lSDL_image -lSDL -lpng -ljpeg -lz -lc -lm -lgcc -o fonts.elf
arm-elf-objcopy -O binary fonts.elf fonts.gxb
b2fxec fonts.gxb fonts.fxe
b2fxeC v0.5d BETA - (c) 2002-4 Jouni 'Mr.Spiv' Korhonen
Crunched 54.3% - total 189808 bytes
El siguiente paso es añadir las librerias especificas para windows de: SDL_Image, SDL_Mixer, SDL_flic, SFont y SDL_gfx...
[TEMPORAL RC-2]
Bajad el fichero de mi web: http://gp32.dantoine.org/ (Noticia del 8 de Septiembre) o directamente de aqui (http://gp32.dantoine.org/download/SDL_UpdateWin32_rc2.zip)
Leed la documentacion y reemplazad si actualizais de una version anterior.
TODO: Soporte para GPX2? jejej :p
Ahora quizas os venga bien saber como generar un proyecto para SDL, pulsa aqui para acceder al tutorial de MAKEFILEs. (http://gp32spain.com/foros/showthread.php?p=246206)
Espero que os sirva, si teneis alguna duda o he cometido algun fallo ya sabeis comentadlo ;)
Un Saludo y EOF :P
Muy bien, si señor! :musico:
La verdad es que es realmente un gusto hacer todo el desarrollo para tu PC e ir recompilando de vez en cuando para GP32, a ver que tal va.
D_Skywalk
31/08/2005, 12:00
Grasia ;)
A mandar :brindis:
Por cierto Chui, que version de SDL-image, mixer gfx... usas? las mismas que en el antiguo tutorial?
http://sdl-gp32.sourceforge.net/making.html
1.2.5 para mixer?
1.2.3 para image?
y para gfx uso la que viene en la web? 2.0.13??
http://www.ferzkopp.net/~aschiffler/Software/SDL_gfx-2.0/
Una pregunta mas ¿hay posibilidad de usar el chatboard como teclado en la gp? ¿requeriria muchos cambios? ¿puedes darme una pista por donde debo tocar para trastear yo?
(si ya esta hecho dimelo para que me trage la tierra xD)
Un Saludo :arriba:
Me vais a llamar VAGO :canon2: pero *****, porque en lugar de un tutorial de 4 paginas no haceis un zip de vuestra carpeta C:\DevKitARm y lo poneis para descarga :rolleyes:
Y luego para futuro: pequeños tutoriales de como actualizar las libs. ;)
SINCERAMENTE: Seguro que mucha mas gente se animaria a programar en SDL para GP32, o "en mi caso" a actualizarse la versión antigua de gcc+sdl.
Porque, sinceramente, me parece un coñazo del 12 tener que hacer todo lo que pone en el tutorial, y hay gente que no tiene idea de instalar librerias y compiladores y no se que, hay muchos que solo sabemos programar (y mal :D) ;) ;)
Please queremos un entorno de desarrollo PREINSTALADO (vease dcfreedev, pero actualizado) :brindis: seria una gran ayuda para la scene que alguien se encargara de mantener
el dcfreedev para gp32 o un DevkitARM Preinstalado ;)
PD. El rollo este: "te descargas libreria, lo metes, descomprimes,versiones ... es muy tema linux" :( y algunos windozeros tambien tenemos jueguillos que aportar si nos facilitais el setup del entorno ;)
Aiken :brindis:
Grasia ;)
A mandar :brindis:
Por cierto Chui, que version de SDL-image, mixer gfx... usas? las mismas que en el antiguo tutorial?
http://sdl-gp32.sourceforge.net/making.html
1.2.5 para mixer?
1.2.3 para image?
y para gfx uso la que viene en la web? 2.0.13??
http://www.ferzkopp.net/~aschiffler/Software/SDL_gfx-2.0/
Una pregunta mas ¿hay posibilidad de usar el chatboard como teclado en la gp? ¿requeriria muchos cambios? ¿puedes darme una pista por donde debo tocar para trastear yo?
(si ya esta hecho dimelo para que me trage la tierra xD)
Un Saludo :arriba:
Las versiones de todas las librerias incluidas estas en la WEB (http://sdl-gp32.sourceforge.net). Y que yo sepa son las últimas disponibles.
Sobre el chatboard no tengo ni **** idea de como podrias ponerlo; el fuente a tocar en el SDL seria en src/video/gp32/*.c ... el que maneje el mapeo de teclas con los botones.
Me vais a llamar VAGO ...
Yo no te puedo ayudar, soy linuxero a muete y no uso ese tipo de cosas desde hace lustros.
Yo no te puedo ayudar, soy linuxero a muete y no uso ese tipo de cosas desde hace lustros.
Tranqui ;) era por si algun windozero lo leia ;)
Aiken
Aiken dime una web donde subir el paquete que te lo comprimo yo mismo :)
enkonsierto
31/08/2005, 13:46
Eskema, tienes el ftp público disponible...
Gracias enkonsierto ahora voy a ver como va y si puedo parriba se va :)
enkonsierto
31/08/2005, 13:54
Yo también estaba interesado en un entorno de programación preconfigurado...:)
Subiendo......... seccion programacion,tardara 1 horita, eso si, habreis de configurar el path del win manualmente como dice el tuto a no ser q seais tan vagos hasta para eso...... XDDDDDDDD
enkonsierto
31/08/2005, 14:13
lo has puesto con la nueva versión del sdl?
D_Skywalk
31/08/2005, 14:23
**** que vagos que sois xDD
Enkon traidor, ya te mandare una sonda anal que te espabile :p
Bueno, la idea era que se supiera como tener un entorno de programacion con SDL, ahora ya si quereis haceroslo mas comodo, todo vuestro xD
La verdad que el DcFreeDev habria que darle un repaso, si... de todas formas uno es masoka y le gusta hacer las cosas "by hand", sino luego peta y no sabes ni por que... o no te compila por problemas de una lib y tampoco sabes por que...
Creo que pelearse un poco con el compilador es esencial para luego trabajar con ese entorno, y digo aun mas, si ni siquiera uno es capaz de seguir un tutorial de 4 paginas; dudo que sea capaz de terminar aquello que empiece :?
De todas formas el tutorial se termina sin problemas en 15/20min :chupete:
Un Saludo y espero que por lo menos a Eskema, si le haya servido... recordare para la proxima ahorrarme los tutoriales de 4 paginas :-
Subiendo......... seccion programacion,tardara 1 horita, eso si, habreis de configurar el path del win manualmente como dice el tuto a no ser q seais tan vagos hasta para eso...... XDDDDDDDD
Graaacias!! Miles de gracias tio!!! Hombre lo del path ya es solo una cosita y no tiene porque fallar, que las librerias las instalas y es mas problable que falle algo :D
Gracias otra vez!!
PD. Que version del devkit tiene? Tiene la ultima version de las sdl? Aunque yo con migrar
a una versión de devkit recientilla ya me valdria ;)
Aiken
anibarro
31/08/2005, 14:30
Que perros sois algunos xD Son 10 minutos de reloj hacer lo que dice, lo que pasa es q pone todo tan detallado, con comandos y de todo, que parece mucho mas largo ;)
En primer lugar he sido muy burro y debo dar las gracias al creador D_skywalk ya q sin el no tendriamos devkitpro :) vaaaale y a chui por portar la SDL.
El rar que estoy subiendo tiene exactamente todo lo q dice el tutorial, version r11, las precompiladas del chui, sdl 1.2.8 y los ejemplos tb para mas comodidad XD.
Aprovecho tb para anunciar que estoy currandome un tutorial para programar algo con la sdl en gp a ver si la gente se anima a abandonar el sdk XDD
enkonsierto
31/08/2005, 14:44
**** que vagos que sois xDD
Enkon traidor, ya te mandare una sonda anal que te espabile :p
Sólo por eso me voy a seguir tu tuto entero, para que veas que me lo curro...:D :D :D :D
Y a ver si te dejas ver de una vez por aqui a vernos al rili y a mi...:p
the_goulin
31/08/2005, 14:47
Alguien me dice los datos del ftp publico please, no los encuentro :P
Que perros sois algunos xD Son 10 minutos de reloj hacer lo que dice
Si, son 10min si funciona a la primera, pero apuesto a que luego da un error y no compila ;) y
sinceramente ... lo he pedido porque estuve anoche mas de 1h intentando meterle las nuevas SDL a mi gcc y no habia forma :( asi que los de 10min en programacion ya sabes como es :D
Aiken
Me viene que ni pintao, ayer empece a rehacer el GPGAMES para las SDL...
D_Skywalk
31/08/2005, 15:29
Sólo por eso me voy a seguir tu tuto entero, para que veas que me lo curro...
Y a ver si te dejas ver de una vez por aqui a vernos al rili y a mi...
Yeah! :D
Pos me quede con las ganas, pero aun anda regular de lo mio y queria darme unas vacaciones totales y esconder mi portatil en el lugar mas oscuro e inaccesible de la cochera xD
A ver donde pongo el webo al final, si sigo en la fakul o kurro o ke, creo que al final me ire a Malaga asi pervierto al Kteto xD
Si, son 10min si funciona a la primera, pero apuesto a que luego da un error y no compila ;) y
sinceramente ... lo he pedido porque estuve anoche mas de 1h intentando meterle las nuevas SDL a mi gcc y no habia forma :( asi que los de 10min en programacion ya sabes como es :D
Aiken
Aiken, si lo he dado tan comido es para que no haya lugar a dudas, y quede todo bien explicado y lo mas importante, el por que :)
Animate y si tienes algun problema, comentamelo: lo arreglamos y lo añadimos al tutorial, pero creeme lo he repasado varias veces antes de colgarlo y no me ha dado problemas, y parece que a los demas tampoco :p
Un Saludo y no veas el porculo que me esta dando el SDL_gfx para compilarlo xD
ya lo teneis subido en la seccion programacion del ftp, ale a disfrutarlo
Me viene que ni pintao, ayer empece a rehacer el GPGAMES para las SDL...
eso es un noticion!!!!! :D :D
Aiken
the_goulin
31/08/2005, 16:58
PO DIOOOOSSS!!
un alma caritativa que se apiade de mi y me pase los datos del FTP publico que no los encuentro y ya he buscado en la web, decirme los datos y prometo regraduarme las gafas
Ains... me siento ignorado...
PO DIOOOOSSS!!
un alma caritativa que se apiade de mi y me pase los datos del FTP publico que no los encuentro y ya he buscado en la web, decirme los datos y prometo regraduarme las gafas
Ains... me siento ignorado...
user: plublic_ftp@gp32spain.com
passwd: publico
PO DIOOOOSSS!!
un alma caritativa que se apiade de mi y me pase los datos del FTP publico que no los encuentro y ya he buscado en la web, decirme los datos y prometo regraduarme las gafas
Ains... me siento ignorado...
servidor: ftp://ftp.gp32spain.com
usuario: public_ftp@gp32spain.com
password: publico
directorio: Programacion
fichero: devkitPRO.rar
edito: chui se me adelantó. Eso me pasa por tardar 5 minutos en escribir la respuesta :D
D_Skywalk
31/08/2005, 17:24
user: plublic_ftp@gp32spain.com
passwd: publico
Por si acaso añado:
Host: ftp.gp32spain.com
Y la verdad yo lo encontre en un momento asi:
http://gp32spain.com/foros/search.php?query=%22ftp+publico%22&searchuser=&exactname=1&starteronly=0&forumchoice=0&childforums=1&titleonly=0&showposts=0&searchdate=0&beforeafter=after&sortby=lastpost&sortorder=descending&replyless=0&replylimit=0&searchthread=0&searchthreadid=0&saveprefs=1&
Y hay un par de post abajo que pone ftp publico no se que, y ahi lo tienes todo :?
Lo que se es que habia una forma de entrar por http y no la veo... bueno entra por ftp con cualquier cliente y listo...
Ah, tambien tenemos la opcion masoka de poner en el explorador:
ftp://public_ftp@gp32spain.com:publico@ftp.gp32spain.com/
Un Saludo
user: plublic_ftp@gp32spain.com
passwd: publico
apuesto a que con eso que "has escrito" no entras ni de coñaaa!!!! :D
jodio! lo he copio y pegao 10 veces hasta que he pillao la errata :D
Aiken
enkonsierto
01/09/2005, 01:52
Me viene que ni pintao, ayer empece a rehacer el GPGAMES para las SDL...
Si necesitas unas splash screens, unos menus o unos grafiquillos varios para una interfaz currada ya sabes...:D :D :D :D
Si necesitas unas splash screens, unos menus o unos grafiquillos varios para una interfaz currada ya sabes...
Pues toda ayuda sera bienvenida. Ademas tengo el problema de que he perdido los graficos originales de algunas cosas... y ahora con sdl me gusta usar png, aunque aun no se como ira con SDL en GP32.
Pues toda ayuda sera bienvenida. Ademas tengo el problema de que he perdido los graficos originales de algunas cosas... y ahora con sdl me gusta usar png, aunque aun no se como ira con SDL en GP32.
Chuta muy bien en GP32, tanto 24bit como 8bit, yo siempre lo uso.
Pues toda ayuda sera bienvenida. Ademas tengo el problema de que he perdido los graficos originales de algunas cosas
si los tienes en arrays, simplemente create un programita que cargue los graficos en pantalla y o bien haces un dump y los grabas a disco o haces una captura en el geepee ;)
Aiken
enkonsierto
04/09/2005, 12:36
Ya hice el tuto de D_skywalk, pero le falta que funcionen las librerías extras de SDL para win(SDL_image, SDL_mixer...) que chui ha incluido en gp32. Ya que intentas compilar para win alguno de los ejemplos y no funciona...
Ya he recuperado los graficos del GPGAMES (y los sonidos), y ya funcionan todos en windows (no se ven las letras pero algo es algo).
anibarro
04/09/2005, 12:46
enkonsierto las puedes bajar de aqui para el PC: :brindis:
http://www.ferzkopp.net/~aschiffler/Software/SDL_gfx-2.0/
Edit: de ahi las SDL_gfx (en el INSTALL tienes como instalarlo para mingw)
enkonsierto
04/09/2005, 13:50
Sí, si bajarlas las tengo bajadas, pero despues algo mál debo hacer al instalarlas porque no acaban de compilar bien los ejemplos...
Gammenon
04/09/2005, 15:54
Saludos
Yo por mi parte he seguido este cojonudo tutorial y he conseguido compilar y ejecutar los ejemplos del señor Chui, ademas de pintar unos tiles por mi parte, un spritecete y tocar un .xm en cinco minutillos (tanto en windows como en la gp32 con el mismo codigo). Osea que muchas gracias por todo ^_^
Ahora tengo un problemilla: no consigo compilar codigo en C++. He estado mirando los foros sobre ello y no he sacado nada en claro. Luego he estado toqueteando el makefile y jugaria el cuello a que tengo bien los directorios, pero el arm-elf-gcc se empeña en decirme lo siguiente:
Makefile:74: Makedepend: No such file or directory
arm-elf-gcc -I/opt/include/sdl -I/opt/include -mtune=arm920 -march=armv4t -marm
-mno-thumb-interwork -msoft-float -ffast-math -nostdlib -fno-common -fno-builtin
-fno-exceptions -mstructure-size-boundary=8 -fomit-frame-pointer -fstrict-aliasing -O6 -DGFXST -DGP32 -DGP32_LIBC -Wall -Wno-switch -DUSE_FIXED_POINT -M Source/prueba.cpp > Makedepend
arm-elf-as -o crt0x_gp32.o crt0x_gp32.s
g++ -c -o Source/prueba.o Source/prueba.cpp
Source/prueba.cpp:3:21: sdl/SDL.h: No such file or directory
Source/prueba.cpp:4:27: sdl/SDL_image.h: No such file or directory
Source/prueba.cpp:5:27: sdl/SDL_mixer.h: No such file or directory
Source/prueba.cpp:13: error: expected constructor, destructor, or type conversion before '*' token
Source/prueba.cpp:13: error: expected `,' or `;' before '*' token
Source/prueba.cpp: In function `void waitEvent()':
Source/prueba.cpp:17: error: `SDL_Event' undeclared (first use this function)
Source/prueba.cpp:17: error: (Each undeclared identifier is reported only once for each function it appears in.)
Source/prueba.cpp:17: error: expected `;' before "event"
Source/prueba.cpp:18: error: `event' undeclared (first use this function)
Source/prueba.cpp:18: error: `SDL_PollEvent' undeclared (first use this function)
Source/prueba.cpp:19: error: `SDL_Delay' undeclared (first use this function)
Source/prueba.cpp: In function `int main(int, char**)':
Source/prueba.cpp:29: error: `SDL_INIT_VIDEO' undeclared (first use this function)
Source/prueba.cpp:29: error: `SDL_INIT_AUDIO' undeclared (first use this function)
Source/prueba.cpp:29: error: `SDL_Init' undeclared (first use this function)
Source/prueba.cpp:35: error: `screen' undeclared (first use this function)
Source/prueba.cpp:35: error: `SDL_HWSURFACE' undeclared (first use this function)
Source/prueba.cpp:35: error: `SDL_DOUBLEBUF' undeclared (first use this function)
Source/prueba.cpp:35: error: `SDL_SetVideoMode' undeclared (first use this function)
Source/prueba.cpp:39: error: `SDL_Quit' undeclared (first use this function)
make: *** [Source/prueba.o] Error 1
Perdonad el tochazo, pero creo que asi es mejor para que los expertos vean donde he metido la gamba. Como se ve, el compilador no encuentra el sdl.h y demas ficheros, pero ya creo que tengo bien los directorios :shock:
A ver si algun alma caritativa me puede ayudar (tambien podria ser con un ejemplillo en C++ usando las SDL de chui ;)).
Muchas gracias por adelantado :)
[...]
Perdonad el tochazo, pero creo que asi es mejor para que los expertos vean donde he metido la gamba. Como se ve, el compilador no encuentra el sdl.h y demas ficheros, pero ya creo que tengo bien los directorios :shock:
A ver si algun alma caritativa me puede ayudar (tambien podria ser con un ejemplillo en C++ usando las SDL de chui ;)).
Muchas gracias por adelantado :)
Yo diría que te falta declarar los flags para el compilador C++ y que solo los tienes para el compilador C.
En tu makefile deberías de tener alguna línea del estilo para los flags del compilador C
CFLAGS = ...
y otra para los flags del compilador C++, aquí tienes la que tengo yo (para el SDK oficial):
CPPFLAGS = $(CFLAGS) -fno-exceptions
A ver si hay suerte.
Oankali.
Gammenon
05/09/2005, 22:02
Bueno bueno, parece ser que ya compilo el asunto este. Ahora el problema esta en el proceso de enlazado XDD Esto es lo que me dice el make:
Makefile:75: Makedepend: No such file or directory
arm-elf-gcc -I/opt/include/sdl -I/opt/include -mtune=arm920 -march=armv4t -marm -mno-thumb-interwork -msoft-float -ffast-math -nostdlib -fno-common -fno-builtin -mstructure-size-boundary=8 -fomit-frame-pointer -fstrict-aliasing -O6 -DGFXST -DGP32 -DGP32_LIBC -Wall -Wno-switch -DUSE_FIXED_POINT -I. -fno-exceptions -M source/prueba.cpp > Makedepend
arm-elf-as -o crt0x_gp32.o crt0x_gp32.s
arm-elf-g++ -I/opt/include/sdl -I/opt/include -mtune=arm920 -march=armv4t -marm -mno-thumb-interwork -msoft-float -ffast-math -nostdlib -fno-common -fno-builtin -mstructure-size-boundary=8 -fomit-frame-pointer -fstrict-aliasing -O6 -DGFXST -DGP32 -DGP32_LIBC -Wall -Wno-switch -DUSE_FIXED_POINT -I. -fno-exceptions -c -o source/prueba.o source/prueba.cpp
arm-elf-ld -Map prueba.map -nostartfiles --script arm-gp32bin.x -L/opt/lib crt0x_gp32.o source/prueba.o -lSDL_mixer -lSDL_image -lSDL -lc_plusplus -lc -lpng -ljpeg -lz -lm -lgcc -o prueba.elf
source/prueba.o(.text+0x80): In function `main':
: undefined reference to `x_gp32_SetCPUSpeed(long, int, int)'
make: *** [prueba.elf] Error 1
He visto que hay un libc por ahi, y tambien que hay un libc_bluplus (que he renombrado a libc_plusplus, pa no liarme). Lo he añadido al makefile y me suelta lo de arriba, que no lo encuentra el muy ****** :shock:
En fin, este es mi makefile, a ver si alguien encuentra algun fallo garrafal:
CC = arm-elf-gcc
CXX = arm-elf-g++
AS = arm-elf-as
LD = arm-elf-ld
OBJCOPY = arm-elf-objcopy
DEPENDFILE = Makedepend
MAPFILE = prueba.map
TARGET_ELF = prueba.elf
TARGET_BIN = prueba.gxb
TARGET_FXE = prueba.fxe
LDSCRIPT = lnkscript
X_LDSCRIPT = arm-gp32bin.x
.SFILES = crt0x_gp32.s
.CPPFILES = source/prueba.cpp source/cplusplus.cpp
.OFILES = $(.SFILES:.s=.o) $(.CFILES:.c=.o) $(.CPPFILES:.cpp=.o)
OPTFLAGS = -mtune=arm920 -march=armv4t -marm -mno-thumb-interwork \
-msoft-float -ffast-math -nostdlib -fno-common \
-fno-builtin -mstructure-size-boundary=8 \
-fomit-frame-pointer -fstrict-aliasing -O6
CFLAGS = -I$(GP32PATH)/include/sdl -I$(GP32PATH)/include \
$(OPTFLAGS) -DGFXST -DGP32 -DGP32_LIBC \
-Wall -Wno-switch -DUSE_FIXED_POINT -I. \
CPPFLAGS = $(CFLAGS) -fno-exceptions
LDFLAGS = -Map $(MAPFILE) -nostartfiles --script $(X_LDSCRIPT) \
-L$(GP32PATH)/lib
SYSTEMLIBS = -lSDL_mixer -lSDL_image -lSDL -lc_plusplus -lc \
-lpng -ljpeg -lz -lm -lgcc
DOLINK = $(LD) $(LDFLAGS) $(.OFILES) $(SYSTEMLIBS) -o $(TARGET_ELF)
$(TARGET_FXE): $(TARGET_BIN)
b2fxec $< $@
$(TARGET_BIN): $(TARGET_ELF)
$(OBJCOPY) -O binary $< $@
$(TARGET_ELF): $(.OFILES) $(DEPENDFILE)
$(DOLINK)
.PHONY: all clean depend
all: clean depend $(TARGET_BIN)
tags: $(DEPENDFILE)
ctags -e *.cpp *.s *.h *.S
clean:
-rm -f $(.OFILES) $(DEPENDFILE) $(MAPFILE) $(TARGET_ELF) $(TARGET_BIN) $(TARGET_FXE) TAGS
send: $(TARGET_FXE)
gplink -c -x put $(TARGET_FXE) /GPMM
depend:
$(CC) $(CPPFLAGS) -M $(.CPPFILES) > $(DEPENDFILE)
$(DEPENDFILE):
$(CC) $(CPPFLAGS) -M $(.CPPFILES) > $(DEPENDFILE)
include $(DEPENDFILE)
AdventChild
06/09/2005, 00:29
Muy buenas a todos!
Me he pasado la tarde trasteando con el SDL, he seguido el tutorial del principio del post (mu bueno D_Skywalk, si señor!) y ha funcionado todo a la primera.
El único problemilla lo he tenido a la hora de empezar a compilar algun programilla de prueba, ya que una vez tienes el fxe lo más práctico en mi caso era mandarlo al geepee32 0.43 para ver que tal furula.
Pues bien, me he pasado como dos horas intentando pasarle el fxe como parámetro sin resultado, pero como al final ya me he hartado de abrir cada vez el fichero a mano y me he puesto a buscar más en serio, al final he encontrado como se hace!
Más que nada para que nadie más pierda el tiempo tontamente como yo, lo que pone en la web de firefly está mal y para cargar un binario desde la línea de comandos no es con /FXE ni con /GXB, sino con /BIN
Las SMC sí que se pueden cargar con /SMC y el /RUN funciona, pero ese /BIN no le he encontrado documentado por ninguna parte.
Bueno, a lo mejor esto ya se sabia, pero despues del frustre que he pillado esta tarde he tenido que postearlo para quedarme tranquilo! :musico:
Un saludo a todos, especialmente para Chui que es quien realmente se ha currado el tema.
Y el proximo mod para la gp? pronto pronto... :D
Muy buenas a todos!
Me he pasado la tarde trasteando con el SDL, he seguido el tutorial del principio del post (mu bueno D_Skywalk, si señor!) y ha funcionado todo a la primera.
El único problemilla lo he tenido a la hora de empezar a compilar algun programilla de prueba, ya que una vez tienes el fxe lo más práctico en mi caso era mandarlo al geepee32 0.43 para ver que tal furula.
Pues bien, me he pasado como dos horas intentando pasarle el fxe como parámetro sin resultado, pero como al final ya me he hartado de abrir cada vez el fichero a mano y me he puesto a buscar más en serio, al final he encontrado como se hace!
Más que nada para que nadie más pierda el tiempo tontamente como yo, lo que pone en la web de firefly está mal y para cargar un binario desde la línea de comandos no es con /FXE ni con /GXB, sino con /BIN
Las SMC sí que se pueden cargar con /SMC y el /RUN funciona, pero ese /BIN no le he encontrado documentado por ninguna parte.
Bueno, a lo mejor esto ya se sabia, pero despues del frustre que he pillado esta tarde he tenido que postearlo para quedarme tranquilo! :musico:
Un saludo a todos, especialmente para Chui que es quien realmente se ha currado el tema.
Y el proximo mod para la gp? pronto pronto... :D
Efectivamente en la web de Firefly la cosa está mal documentada. En este post (http://www.gp32spain.com/foros/showthread.php?s=&threadid=9763&perpage=15&pagenumber=2) se habló del tema.
Oankali.
Bueno bueno, parece ser que ya compilo el asunto este. Ahora el problema esta en el proceso de enlazado XDD Esto es lo que me dice el make:
[...]
He visto que hay un libc por ahi, y tambien que hay un libc_bluplus (que he renombrado a libc_plusplus, pa no liarme). Lo he añadido al makefile y me suelta lo de arriba, que no lo encuentra el muy ****** :shock:
En fin, este es mi makefile, a ver si alguien encuentra algun fallo garrafal:
[...]
Yo diría que te estás liando con la libc_bluplus, no creo que sea para C++ sino que es para las BLU+ que tienen una pantalla diferente. O sea que me imagino que habrá que crear dos ejecutables, uno con libc_bluplus para las BLU+ y otro con libc para las otras consolas.
Prueba poniendo solo una de las dos libs.
Oankali.
Gammenon
06/09/2005, 09:14
Si, ahi la he cagao, justo esta mañana me he dicho "*****, a que va a ser por la blu+" XDD.
La cuestion es que tambien probe sin esa libreria, y me salta el mismo error :( Mmmm... en el VC++ habia una libreria del main, algo asi como sdlmain.lib. No habra algo equivalente pa la Gepeto? :|
Si, ahi la he cagao, justo esta mañana me he dicho "*****, a que va a ser por la blu+" XDD.
La cuestion es que tambien probe sin esa libreria, y me salta el mismo error :( Mmmm... en el VC++ habia una libreria del main, algo asi como sdlmain.lib. No habra algo equivalente pa la Gepeto? :|
Solo se me ocurre una cosa y es que a la cabecera x_gp32.h le faltan las declaraciones
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif
para hacerla compatible con C++.
Si no es esto, pues no podré ayudarte más ya que aún no he empezado a trastear con las librerías SDL.
Oankali.
Gammenon
06/09/2005, 10:06
Mmmm si tiene pinta de que puede ser eso. Ya lo probare cuando llegue a casa (esto de salir a las 7:30 y llegar a las 19:30 es un asco :ametra: ).
Muchas gracias por las respuestas Oankali ;)
Gammenon
07/09/2005, 09:15
Bueno bueno bueno...
En efecto era el asunto del extern "C", asi que gracias otra vez Oankali. Ahora tengo otro problema, aun mas raro XD Todo me compila y enlaza perfectamente, tanto para Windows como para GP32: Dibujo una imagen de 320x240 ocupando todo el fondo y me bloqueo a la espera de cualquier evento. Si hay alguno, salgo y listos.
Pues bien, en Windows funciona como debe funcionar, mientras que en la GP32 simplemente no dibuja nada, aunque el resto del programa lo ejecuta correctamente (es decir, que si le doy a algo resetee la consola ;)). He probado con un FillRect y rellena correctamente la pantalla...
En fin, ya salseare mas tarde y ya expondre mis resultados. Ta luego :)
D_Skywalk
07/09/2005, 20:04
[TUTORIAL ACTUALIZADO]
Mirad el primer post (al final) y visitad mi web para mas info :P
http://gp32.dantoine.org/
Un Saludo y espero que os sea util :D
Pd: Anarchy feo, responde a mi mensaje privadin!!! xDD
// a simple text blit to (0/0)
SFont_Write (screen, Font, 0,0,"K-TETO ES UNA WARRA! :D");
SFont_Write (screen, Font, 10,100,"Skywalker Test sFont");
...ioputah... XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
En, fins, voy a seguir el tuto y ver que puedo hacer con sdl (que nunca he tocado por cierto)
Juas, despues del dia 20(mi ultimo xame) seguire este tutorial enterito para meterme en sdl.
La nueva gp va a tirar de esto, no?
Saludos
¿Un poco lioso el ejemplo para mostrar un grafico no? la verdad viendo eso no se ni por donde meterle mano, yo lo hago de manera mas simple, tal q asi
Saludos,
#include <SDL/SDL.h>
#include <x_gp32.h>
int main(int argn, char **argv)
{
x_gp32_SetCPUSpeed_133();
SDL_Surface *pantalla; //buffer de SDL para la pantalla
SDL_Surface *fondo; // La imagen, usea el fondo
SDL_Rect rect_fondo; // unos rects q vamos a usar para manejar los graficos
int terminar = 0; // si terminar =1 salimos del juego
int x2=0;
int y2=0;
Uint8 *teclas; //para controlar el teclado
///////////////
// INICIAMOS EL VIDEO Y TAL
//////////////
if(SDL_Init(SDL_INIT_VIDEO) == -1){
exit(-1);
}
pantalla = SDL_SetVideoMode(320,240,8, SDL_HWSURFACE | SDL_DOUBLEBUF);
if(!pantalla){
SDL_Quit();
exit(-1);
}
// Cargamos gráfico
fondo= SDL_LoadBMP("fondo.bmp");
while( ! terminar ){
SDL_PollEvent(NULL);
teclas = SDL_GetKeyState(NULL);
if( teclas[SDLK_ESCAPE] )
terminar = 1; //salimos
//Dibujamos el fondo
rect_fondo=(SDL_Rect){x2,y2,0,0};
SDL_BlitSurface(fondo,NULL,pantalla, &rect_fondo);
SDL_Flip(pantalla);
// Volcamos el contenido de los buffers a la pantalla y ale solucionado, ya se ve nuestro juego :)
// espero que todos entendais bien el codigo
}
SDL_Quit();
}
D_Skywalk
08/09/2005, 08:46
// a simple text blit to (0/0)
SFont_Write (screen, Font, 0,0,"K-TETO ES UNA WARRA! :D");
SFont_Write (screen, Font, 10,100,"Skywalker Test sFont");
...ioputah... XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
En, fins, voy a seguir el tuto y ver que puedo hacer con sdl (que nunca he tocado por cierto)
Jijiji xDD
:****************
Me alegro que se os hayais animado tu y otto a seguir el tuto, dos mas pal carro :D
Otto_xd, claro mi idea es hacer programas directamente compatibles/compilables para GP32, Pc (Para testing), GPX2 y ¿Dc? ;)
Eskema, puedo usar tu source para un ejemplo de codigo simple en SDL? seguro que le vendra bien a mucvha gente :D
Un Saludo y a ver si hoy cae el SDL_gfx ^^_
Gammenon
08/09/2005, 09:19
Oye D_Skywalk, no sabras por que me falle el SDL_Blit y me funciona el SDL_FillRect, no? Si consigo que funcione ya hare pequeños ejemplos si es menester :)
Y muchas gracias por el pedacho tutorial ;)
D_Skywalk
08/09/2005, 09:27
Oye D_Skywalk, no sabras por que me falle el SDL_Blit y me funciona el SDL_FillRect, no? Si consigo que funcione ya hare pequeños ejemplos si es menester :)
Y muchas gracias por el pedacho tutorial ;)
Has seguido el tutorial? Y has bajado el ultimo update? es que esas funciones que me hablas son las base de SDL, me parece mas un problema de que algo te falla en el linkado con libSDL que con libSDL_gfx :?
Mi consejo: vuelve a rehacer el tutorial siguiendolo de PE A PA y luego cuentame como te fue :)
Un Saludo y suerte
Gammenon
08/09/2005, 09:46
Si, segui el tutorial y en C puro y duro me va todo perfecto, pero en C++ el programa funciona pero no pinta nada en pantalla :( Y si, me baje las nuevas librerias, pero tengo una duda: algunos de los ultimos ficheros son mas antiguos que los que tengo instalados anteriormente. A que se debe eso?
En fin, a ver si consigo hacer que rule en C++ ;)
D_Skywalk
08/09/2005, 10:02
Ya tengo SDL_gfx funcionando :D
Eso si es la version 2.0.10 que le faltan algunas funciones importantes como las fuentes (aunque pueden ser subsanadas con sFont) y algunas mejoras en rotozoom... bueno os dejo el changelog:
Ver 2.0.13 - Tue Dec 21 08:41:25 EST 2004
* changed include back to "SDL.h"
* compile fixes for OSX fink (thanks (Michael)
* compile fixes for gcc3.4 (thanks Dries)
* support vertical and horizontal flipping of axis in new
rotozoomSurfaceXY function (thanks Victor)
* updated TestRotozoom program
Ver 2.0.12 - Mon Aug 30 09:04:11 EDT 2004
* piecolor naming fix
* primitive API change to 'filledPie'
* introduction of some const variables
Ver 2.0.11 - Thu May 13 09:42:34 EDT 2004
* added pieRGBA/pieColor primitive (non filled pie)
* added QNX6 build patch
* use $(includedir)/SDL to automake setup
* updated README
* added 2x2 box & pie tests
* added dynamic font setup routine
* added sample font files to the Fonts directory
* added font test program
* string routines changed to use const char
* fixed TestRotozoom clear color bug
Mientras sigo intentando con SDL_gfx 2.0.13, sino doy preparo un paquetillo igual que de ayer, al menos ya queda poco ;)
skywalker@SSTT ~/win32/examples
$ make -f Makefile.gfx
gcc -I/mingw/include/SDL -Dmain=SDL_main -c -o TestFramerate.o TestFramerate.c
gcc -I/mingw/include/SDL -Dmain=SDL_main -o TestFramerate TestFramerate.o -L/mingw/lib -lmingw32 -lSDLmain -lSDL -mwindows -lSDL_gfx -lSDL_image
strip TestFramerate.exe
gcc -I/mingw/include/SDL -Dmain=SDL_main -c -o TestRotozoom.o TestRotozoom.c
gcc -I/mingw/include/SDL -Dmain=SDL_main -o TestRotozoom TestRotozoom.o -L/mingw/lib -lmingw32 -lSDLmain -lSDL -mwindows -lSDL_gfx -lSDL_image
strip TestRotozoom.exe
gcc -I/mingw/include/SDL -Dmain=SDL_main -c -o TestImageFilter.o TestImageFilter.c
gcc -I/mingw/include/SDL -Dmain=SDL_main -o TestImageFilter TestImageFilter.o -L/mingw/lib -lmingw32 -lSDLmain -lSDL -mwindows -lSDL_gfx -lSDL_image
strip TestImageFilter.exe
gcc -I/mingw/include/SDL -Dmain=SDL_main -c -o TestGfxPrimitives.o TestGfxPrimitives.c
gcc -I/mingw/include/SDL -Dmain=SDL_main -o TestGfxPrimitives TestGfxPrimitives.o -L/mingw/lib -lmingw32 -lSDLmain -lSDL -mwindows -lSDL_gfx -lSDL_image
strip TestGfxPrimitives.exe
Un Saludo
Por supuesto skywalk puedes usarlo cuanto quieras, si necesitas algun ejemplo mas pidemelo que tengo varios asi sencillotes para que la gente se quede bien con las funciones y tal
Saludos,
D_Skywalk
08/09/2005, 11:30
Y la luz se hizo ^^_
SDL_gfx 2.0.13 Listo!!!
Salustian
08/09/2005, 12:31
ya estoy impaciente por probarlo
Gracias!!!!!!!!!!!!!!!
enkonsierto
08/09/2005, 15:36
Gran trabajo sky...:D :D :D :D
Eskema, me encantan estos ejemplitos, postea alguno más...:D :D :D :D
Por cierto, en windows y gp compila bien, pero al ejecutarlo en gp32 no se ve la imagen, sino un cursor (igual como el que sale en la ventana de sl de un programa de windows). Me comprendes?
D_Skywalk
08/09/2005, 15:39
[TUTORIAL ACTUALIZADO]
Listo, teneis el tutorial actualizado y en la web teneis la ultima version del Update :D
Debeis Reemplazar los Ficheros anteriores, si actualizais de la RC1 y os pregunta...
Respondiendo a Gammenon: hay algunas librerias mas antiguas que otras por que no todas han sido compiladas por un servidor ;)
Un Saludo y a disfrutar de SDL_gfx, que se resistia el muy... :P
Pd: Ahora kizas falte el soporte GPX2 y añadir algunos ejemplos simples como el de Eskema :)
Gammenon
08/09/2005, 16:42
Saludos de nuevo.
Entonces cojo lo nuevo y machaco lo viejo con el, no?
A ver si consigo pintar algo ya coñe, con lo cojonudo que es programar en VC++ con las SDL y luego probarla en la GP32 simplemente escribiendo make ;)
anibarro
08/09/2005, 18:42
Muchas gracias D_Skywalk, q gusto da tener todo tan bien puesto y que te lo pongan tan fácil ^_^ :brindis:
Vaya pues teneis razon no se ve en la gp :( pues vaya con la consolita si nos ha salido delicada XD
¿Alguien tiene idea de pq no se ven los graficos? mi ejemplo puede no ser nada del otro jueves pero en guindous/linux funciona perfectamente, no entiendo que le falla a la gp :(
the_goulin
08/09/2005, 19:46
Oyo,
He estado probando y el unico ejemplo que puedo ejecutar es el showfont, el resto compilan correctamente pero no se ejecutan ... vamos que yo lo ejecuto y se queda como si nada.
Alguna idea?
Saludillos,
The_Goulin
Gammenon
09/09/2005, 11:23
No se ve nada porque lo haceis en C++ o incluso en C puro no se ve nada? Porque yo lo probe en C puro y duro e iba exactamente igual que en windows (anda que no flipe ni na cuando empezo a sonar el xm XD). Eso si, todo esto con lo primerisimo que saco D_Skywalk, no lo he probado con las librerias mas nuevas (lo del C puro y duro). En C++ solo me va el SDL_FillRect, el blit no me hace caso :(
the_goulin
09/09/2005, 12:38
No se ve nada porque lo haceis en C++ o incluso en C puro no se ve nada? Porque yo lo probe en C puro y duro e iba exactamente igual que en windows (anda que no flipe ni na cuando empezo a sonar el xm XD). Eso si, todo esto con lo primerisimo que saco D_Skywalk, no lo he probado con las librerias mas nuevas (lo del C puro y duro). En C++ solo me va el SDL_FillRect, el blit no me hace caso :(
Ok , ok
creo que no se me veia nada por que no acompañaba el showimage de showimage imagen.bmp xDD
Sorry, uno que se pone nerviosio y ... cuando llege a casa lo pruebo
Asias,
The_Goulin
Yo programo en c y no consigo q se vean los graficos en la pantalla de la gp, sin embargo en win funciona perfectamente la forma q uso. ¿Que hago mal?
D_Skywalk
09/09/2005, 14:40
Yo programo en c y no consigo q se vean los graficos en la pantalla de la gp, sin embargo en win funciona perfectamente la forma q uso. ¿Que hago mal?
Recuerda que debes usar la estructura de directorios de la gp, ej: "/gpmm/juego/imagen.bmp" eso para la version de GP, para Win con ponerlo en el mismo directorio y hacer la llamada con "imagen.bmp" es suficiente.
Asi que lo suyo es tener un define o cadena, donde segun sea version de Windows o GP32, busque en un path u otro... os dejo el mismo ejemplo de Eskema a ver si asi comprobais mi teoria (yo no tengo aqui GP32 y el makesmc no quiere funcionar xD).
Un Saludo y comentadme el test ;)
Pd: Eskema, he añadido algunas cosas a tu ejemplo, y alguna comprobacion que creo que son necesarias y espero que a ninguno le lie mas :p
Pues siento mucho decirlo, pero el ejemplo sigue sin funcionar, la gp se resetea ¿¿?? algo raro pasa con la sdl en gp creo yo
D_Skywalk
09/09/2005, 15:50
Pues siento mucho decirlo, pero el ejemplo sigue sin funcionar, la gp se resetea ¿¿?? algo raro pasa con la sdl en gp creo yo
Perfecto que se resetee es buena señal xD
Ademas, no es que se resetee sino que sale, por que no puede encontrar el fondo.bmp en GPMM (compueba la ruta en el make de GP32). Mira ver tambien si tienes un fichero llamado stderr.txt (con el fallo en si).
Un Saludo y disculpa no poder ayudarte mas ;)
Efectivamente se resetea pq no encuentra la imagen, he modificado el make para cargar las imagenes desde la carpeta graficos,
CFLAGS += -DDATA_PREFIX=\"/gpmm/graficos/\"
pero sigue reseteando igual, asi q ya no se q pensar (no se crea el fichero stderr)
Las rutas a archivos (al menos antes de l SDL stand alone) se referian con dobles barras, de tal forma que quedaba como sigue:
gp:\\gpmm\\nave.bmp
Aqui podeís ver un ejemplo http://ltkdemos.sourceforge.net/articulos/1_articulos.htm
Aún no he actualizado el codigo al nuevo SDL.
Sorry por el Spam ;-)
ZeNiTRaM
11/09/2005, 18:54
Las rutas a archivos (al menos antes de l SDL stand alone) se referian con dobles barras, de tal forma que quedaba como sigue:
gp:\\gpmm\\nave.bmp
Aqui podeís ver un ejemplo http://ltkdemos.sourceforge.net/articulos/1_articulos.htm
Aún no he actualizado el codigo al nuevo SDL.
Sorry por el Spam ;-)
No se mucho de C (estoy intentando aprender), pero creo que en todos los sitios donde se quiere poner una \ (NO /) hay que poner dos barras \\ porque si no se cree que es un caracter especial (como \n o \t). (esto al menos pasa en PHP)
Si se quieren poner dos barras (\\) hay que poner 4: \\\\
enkonsierto
11/09/2005, 21:02
alguien puede confirmar lo de la ruta...?
enkonsierto
11/09/2005, 22:03
Gracias a la ayuda de anibarro ya funciona correctamente el path...:D :D :D :D
esta es la ruta que teneis que poner en el makefile si quereis que pille los archivos externos desde gpmm:
#DIRECTORIO DONDE BUSCARA LA GP TUS FICHEROS
CFLAGS += -DDATA_PREFIX=\"gpmm/\"
o por ejemplo si queremos las imagenes en la carpeta gpmm/imagen:
#DIRECTORIO DONDE BUSCARA LA GP TUS FICHEROS
CFLAGS += -DDATA_PREFIX=\"gpmm/imagen/\"
ZeNiTRaM
12/09/2005, 09:28
Un ejemplillo que he hecho en unos minutos modificando el ejemplo de antes..y casi sin tener ni idea de C.. con las flechas mueve la imagen, y con enter (start) sale..
Los numeros que aparecen son las coordenadas X e Y.
//Ejemplo By Eskema :D y modificado por ZeNiTRaM
#ifdef DREAMCAST
#include <kos.h>
KOS_INIT_FLAGS(INIT_DEFAULT);
#endif
#ifdef GP32
#include <x_gp32.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "SDL.h"
#include "SDL_gfxPrimitives.h"
#include "SDL_gfx_7x13_fnt.h"
#include "SDL_gfx_fnt.h"
#define WIDTH 320
#define HEIGHT 240
#define NUM_RANDOM 512
#define FICHERO_VIDEO_FONDO DATA_PREFIX "fondo.bmp"
//char * fichero_video_fondo[]={ FICHERO_VIDEO_FONDO };
int main(int argn, char **argv)
{
#ifdef GP32
x_gp32_SetCPUSpeed_133();
#endif
SDL_Surface *pantalla; //buffer de SDL para la pantalla
SDL_Surface *fondo; // La imagen, usea el fondo
SDL_Rect rect_fondo; // unos rects q vamos a usar para manejar los graficos
int terminar = 0; // si terminar =1 salimos del juego
int x2=160;
int y2=120;
Uint8 *teclas; //para controlar el teclado
///////////////
// INICIAMOS EL VIDEO Y TAL
//////////////
if(SDL_Init(SDL_INIT_VIDEO) == -1)
{
return(-1);
}
pantalla = SDL_SetVideoMode(320,240,8, SDL_HWSURFACE | SDL_DOUBLEBUF);
if( !pantalla )
{
fprintf(stderr, "Error: No es posible mostrar el modo de video seleccionado.\n");
SDL_Quit();
return(5); //puede ser cualquier numero, pero seguid una logica si luego quereis depurar...
}
// carcagmos fuente
gfxPrimitivesSetFont(&SDL_gfx_font_7x13_fnt,7,13);
// Cargamos gráfico
fondo = SDL_LoadBMP( FICHERO_VIDEO_FONDO /*fichero_video_fondo[0] */ );
if( !fondo )
{
fprintf(stderr, "Error: No encuentro: %s <image_file>.\n", FICHERO_VIDEO_FONDO /*fichero_video_fondo[0]*/ );
SDL_Quit();
return(10);
}
while( !terminar )
{
char textitox[3];
char textitoy[3];
sprintf(textitox, "%i", x2);
sprintf(textitoy, "%i", y2);
SDL_PollEvent(NULL);
SDL_FillRect(pantalla,NULL,SDL_MapRGB(pantalla->format,255,0,0));
teclas = SDL_GetKeyState(NULL);
if( teclas[SDLK_RETURN] )
terminar = 1; //salimos
if( teclas[SDLK_DOWN] )
y2 = y2+1;
if( teclas[SDLK_UP] )
y2 = y2-1;
if( teclas[SDLK_LEFT] )
x2 = x2-1;
if( teclas[SDLK_RIGHT] )
x2 = x2+1;
if( x2 > 320 )
x2 = 0;
if( y2 > 240 )
y2 = 0;
if( x2 < 0 )
x2 = 320;
if( y2 < 0 )
y2 = 240;
stringRGBA(pantalla,1,1,textitox,255,255,255,255);
stringRGBA(pantalla,25,1,textitoy,255,255,255,255) ;
//Dibujamos el fondo
rect_fondo=(SDL_Rect){x2,y2,0,0};
SDL_BlitSurface(fondo,NULL,pantalla, &rect_fondo);
SDL_Delay(10); //una pequeña pausa antes de volcar la pantalla para que el movimiento sea menos rapido.. si va muy lento en la gp32, quitarlo
SDL_Flip(pantalla);
// Volcamos el contenido de los buffers a la pantalla y ale solucionado, ya se ve nuestro juego
}
SDL_Quit();
return 0;
}
Hay que añadir en los Makefile donde dice
SDL_LDFLAGS = $(shell sdl-config --libs)
cambiarlo por
SDL_LDFLAGS = $(shell sdl-config --libs) -lSDL_gfx -lSDL_image
para que use las librerias SDL_gfx y SDL_image.
Creo q hay un tema q no se ha tratado aun o por lo menos no he visto, ¿cual es la correspondencia de teclas con la gp? que teclas del pc equivalen al A,B,L,R,START y SELECT?
Segun Zenitram el enter equivale al start, ¿y el resto alguien lo sabe?
ZeNiTRaM
12/09/2005, 09:56
Creo q hay un tema q no se ha tratado aun o por lo menos no he visto, ¿cual es la correspondencia de teclas con la gp? que teclas del pc equivalen al A,B,L,R,START y SELECT?
Segun Zenitram el enter equivale al start, ¿y el resto alguien lo sabe?
Estoy seguro del Enter, el resto creo que son las mismas teclas que en el interprete de Fenix (al fin y al cabo estan portados por el mismo), que son Control y Alt A y B, y luego estaban Tab que era R, Backspace (borrar) L y Select creo que era Espacio.. aunque mejor no me creas mucho y buscalo ^_^
ZeNiTRaM
12/09/2005, 10:17
He encontrado una forma de integrar las imagenes (supongo que tambien se podran integrar los sonidos) dentro del FXE (o EXE, si es windows). Hay que descargar el GP Bin Converter de http://membres.lycos.fr/illusionstudio/aquafish/dev.htm y ejecutarlo, cargar la imagen, decir donde se quiere guardar el archivo .h (en la misma carpeta de la aplicacion) y ponerle un nombre al array, abrir el archivo y apuntar el principio que dice:
const unsigned char imagen[1272] = {
apuntar ese numero (el tamaño de la imagen) y cambiar en el codigo las lineas de carga de la imagen por..
fondo = IMG_Load_RW(SDL_RWFromMem(&imagen,1272),0);
y en el principio añadir
#include imagen.h (o el nombre del .h)
y ya está, al compilar la imagen estará dentro del FXE (y se comprimirá al pasarle el b2fxec). Da un warning al compilar pero luego funciona perfectamente.
Esa funcion q comentas para ponerlo todo en el fxe esta muy bien pero tiene un bug en la version 1.2.8 arreglado en la 1.2.9, aunque si dices q funciona pos mejor :)
enkonsierto
12/09/2005, 14:44
Creo q hay un tema q no se ha tratado aun o por lo menos no he visto, ¿cual es la correspondencia de teclas con la gp? que teclas del pc equivalen al A,B,L,R,START y SELECT?
Segun Zenitram el enter equivale al start, ¿y el resto alguien lo sabe?
http://www.gp32spain.com/foros/showthread.php?s=&threadid=11312
Esto es lo que me ha dicho chui:
cursores = cruceta
control izq= a
alt izq = b
enter = start
space = select
tab = L
backspace = R
The Overcore
15/09/2005, 14:24
Estupendo el tutorial
este es mi primer post(aunke hace tiempo ke tengo la Gp32)y siempre e kerido hacer algo para ella
tengo todo configurado y funcionando, lo unico k me falta y tengo en duda es el makefile, se ke es como contar una historia interminable pero tengo poca idea de como hacer la estructura y preparar una carpeta lista para compilar...
por favor si alguien da una pekeña guia de como preparar una compilacion se lo estare eternamente agradecido
y ya lo unico ke nos toca es programar como locos ;)
¿Que es lo q necesitas exactamente? ¿un makefile o saber como hacerlos?, pq con los ejemplos vienen sus makefiles que solo cambias por tus nombres de archivos y ale a funcionar. Otra cosa es que quieras complicarte la vida con makefiles pq ya sepas programar del copon y te sobre el tiempo para ver como van xD
The Overcore
15/09/2005, 20:34
bueno pues por ahora es como dices por lo menos guiarme para k pueda modificarlo para mi program xD
D_Skywalk
16/09/2005, 10:10
Acabo de postear un tutorial de MAKEFILEs, a ver si te sirve ;)
Un Saludo y ya me cuentas :D
Puck2099
16/09/2005, 11:30
Hola,
Una vez compilado uno de los ejemplos para la GP32, ¿hay que adjuntar alguna libreria junto con el .fxe?
Lo digo porque, aunque me han compilado sin problemas un par de ejemplos, al intentar probarlos en el geepee32 se me sale con un error de "segmentation fault" y no se que "parachuted".
¿Alguna idea?
Gracias :)
anibarro
16/09/2005, 11:36
A mi en el geepee32 no se me ve nada de lo q he hecho con SDL, no hacen más que salir pantallas blancas y negras, pero tampoco da errores :/
D_Skywalk
16/09/2005, 12:14
Anibarro, que yo sepa el SDL no es compatible con el geepee (al menos el que yo usaba, uno algo antiguo) pero vamos que no entiendo por que no compilas para Win, amos que es una tonteria ponerte a ejecutarlo en el geepee, sino para que usamos SDL??? xD
Puck2099, los ejemplos que yo compile, los de CHUI (Carpeta GP32) se deberian ejecutar sin problemas en la GP, al menos a mi en linux me compilo y ejecuto sin problemas :?
Un Saludop
Puck2099
16/09/2005, 12:32
Puck2099, los ejemplos que yo compile, los de CHUI (Carpeta GP32) se deberian ejecutar sin problemas en la GP, al menos a mi en linux me compilo y ejecuto sin problemas :?
Un Saludop
No, si es la GP todavía no he probado.
Es que aprovechando que he salido pronto de un examen y tenía el portatil en la facultad, me he puesto a compilar los ejemplos para ver si me daba errores o algo y ya que no tenía la GP a mano he usado el emulador para probarlo :D
A ver, voy a "montar" el portatil y lo pruebo en la consola...
EDITO: Probado en la consola y funcionando perfectamente :)
Ahora solo queda hacer pruebas de velocidad, a ver si es capaz de "aguantar el pulso" al SDK oficial ;)
Saludos
anibarro
16/09/2005, 14:46
Anibarro, que yo sepa el SDL no es compatible con el geepee (al menos el que yo usaba, uno algo antiguo) pero vamos que no entiendo por que no compilas para Win, amos que es una tonteria ponerte a ejecutarlo en el geepee, sino para que usamos SDL??? xD
D_Skywalk si te doy toda la razon, yo lo compilo siempre para windows mientras hago cosas, pero como tenia problemas de velocidad, queria probarlo en el geepee32 pq es mas comodo, para no tener q pasarlo a la consola. ;)
The Overcore
19/09/2005, 21:56
Como me dice k no encuentra SDL_Statics al compilar en Win32???
(la verdad es k no lo encuentro en includes....)
tengo algo incorrecto en el makefile?
$ make -f makefile.win32
gcc -Wall -Wno-switch -march=pentium -mcpu=pentium `sdl-config --cflags` -DWIN32 -DFSL -DTARGET_WIN32 -DTARGET_win32 -DTARGET_windows -ffast-math -fno-common -ffreestanding -fno-builtin -Isrc/ -fno-exceptions -fstrict-aliasing -O6 -I/usr/local/include -I../../include -DDLLINTERFACE="" -c -o code1.o code1.c
code1.c:59:2: warning: no newline at end of file
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
gcc -L../../lib -L/usr/local/lib -o code1.exe -lmingw32 code1.o -lSDL_gfx -lSDL_Static -mwindows -mno-cygwin -luser32 -lgdi32 -lwinmm
d:\gp32\mingw\bin\..\lib\gcc\mingw32\3.4.2\..\..\. .\..\mingw32\bin\ld.exe: cannot find -lSDL_Static
collect2: ld returned 1 exit status
make: *** [code1.exe] Error 1
SOS
D_Skywalk
20/09/2005, 21:13
Mira el tutorial que hice para makefiles con SDL, por lo que veo no lo has leido mucho :?
Un Saludo
Tenía ganas de portar algo con SDL y ya lo he hecho: el xrick, usando el código original en SDL y sin utilizar nada del código del port de GP32 ni de las mejoras que le añadí.
La verdad es que he flipado cuando en menos de cinco minutos he conseguido compilarlo ( aunque he tardado bastante más tiempo en conseguir que no reseteara la GP32) :ametra:
El único pero que le veo es que es bastante más lento que el port de GP32. ¿Es ésto normal?
Incluyo una imagen del xrick-sdl-gp32 con gráficos PC-CGA.
enkonsierto
28/09/2005, 17:01
el port de pc o el de gp32 es más lento...?
Pos yo he seguido todos los pasos del tutorial, y cuando hay que hacer el ./configure del test dentro de /opt/SDL-1.2.8/test me sale un error de SDL.dll y me pone esto (vease imagen).
Que hago para solucionarlo??? si no paso de ahi no podré seguir con el tutorial.. :S
(todo lo anterior ha salido bien, como vienen en tus ejemplos)
EDIT: Acabo de seguir leyendo más abajo del turorial (cuando me dio el error paré por si las moscas.. :P) y me he dado cuenta de que habia que meter el sdl.dll dentro de windows/system, y ahora no me da el error ese, voy a seguir con el tuto.. xD
EDIT2: Ahora me da este error :S He seguido todos los pasos del tutorial y nada :( que alguien me ayude!!! :P
D_Skywalk
02/10/2005, 01:01
EDIT2: Ahora me da este error :S He seguido todos los pasos del tutorial y nada :( que alguien me ayude!!! :P
Segurisimo que te has saltado un paso, estas cosas no las hagas de prisa y corriendo que no tienen mucho sentido ;)
A ver por lo que veo, o no tienes los includes copiados en /mingw/include/SDL o no hiciste el directorio o algo asi xD
prueba a hacer:
$ ls -la /mingw/include/SDL
Y dame la salida :)
Un Saludo
D_Skywalk
02/10/2005, 01:04
el port de pc o el de gp32 es más lento...?
pos va a ser el de gp, por que el de PC a mi me tira bien con la voodoo 3 ;p
Un Saludo xD
prueba a hacer:
$ ls -la /mingw/include/SDL
Y dame la salida :)
Un Saludo
Me sale ke hay 228 archivos...
SDL.h
...
close_code.h
Para la GP32 compila, pero para win no :P
D_Skywalk
02/10/2005, 01:23
Me sale ke hay 228 archivos...
SDL.h
...
close_code.h
Para la GP32 compila, pero para win no :P
Para copiar en el portapapeles solo tienes que seleccionarlo (con el raton) y luego pegarlo aqui en el foro, copiame el error completo (desde que compilas) y luego copiame tambien el contenido del comando que te dije antes la salida completa.
Mete todo eso dentro de una etiqueta [CODE]. Y si ves que es mucho, pegalo mejor en un TXT y subelo...
Un Saludo
Esto sale con el comando que me has dicho:
$ ls -la /mingw/include/SDL
total 228
drwxr-xr-x 2 Ad n Administ 0 Dec 15 2004 .
drwxr-xr-x 11 Ad n Administ 0 Oct 1 13:32 ..
-rw-r--r-- 1 Ad n Administ 3186 Dec 15 2004 SDL.h
-rw-r--r-- 1 Ad n Administ 1931 Dec 15 2004 SDL_active.h
-rw-r--r-- 1 Ad n Administ 10979 Dec 15 2004 SDL_audio.h
-rw-r--r-- 1 Ad n Administ 1922 Dec 15 2004 SDL_byteorder.h
-rw-r--r-- 1 Ad n Administ 5734 Dec 15 2004 SDL_cdrom.h
-rw-r--r-- 1 Ad n Administ 974 Dec 15 2004 SDL_copying.h
-rw-r--r-- 1 Ad n Administ 2351 Dec 15 2004 SDL_cpuinfo.h
-rw-r--r-- 1 Ad n Administ 6539 Dec 15 2004 SDL_endian.h
-rw-r--r-- 1 Ad n Administ 1769 Dec 15 2004 SDL_error.h
-rw-r--r-- 1 Ad n Administ 12389 Dec 15 2004 SDL_events.h
-rw-r--r-- 1 Ad n Administ 738 Dec 15 2004 SDL_getenv.h
-rw-r--r-- 1 Ad n Administ 5285 Dec 15 2004 SDL_joystick.h
-rw-r--r-- 1 Ad n Administ 3893 Dec 15 2004 SDL_keyboard.h
-rw-r--r-- 1 Ad n Administ 7264 Dec 15 2004 SDL_keysym.h
-rw-r--r-- 1 Ad n Administ 2825 Dec 15 2004 SDL_loadso.h
-rw-r--r-- 1 Ad n Administ 2718 Dec 15 2004 SDL_main.h
-rw-r--r-- 1 Ad n Administ 4620 Dec 15 2004 SDL_mouse.h
-rw-r--r-- 1 Ad n Administ 5741 Dec 15 2004 SDL_mutex.h
-rw-r--r-- 1 Ad n Administ 183 Dec 15 2004 SDL_name.h
-rw-r--r-- 1 Ad n Administ 304652 Dec 15 2004 SDL_opengl.h
-rw-r--r-- 1 Ad n Administ 1973 Dec 15 2004 SDL_quit.h
-rw-r--r-- 1 Ad n Administ 3504 Dec 15 2004 SDL_rwops.h
-rw-r--r-- 1 Ad n Administ 5788 Dec 15 2004 SDL_syswm.h
-rw-r--r-- 1 Ad n Administ 2395 Dec 15 2004 SDL_thread.h
-rw-r--r-- 1 Ad n Administ 4451 Dec 15 2004 SDL_timer.h
-rw-r--r-- 1 Ad n Administ 3693 Dec 15 2004 SDL_types.h
-rw-r--r-- 1 Ad n Administ 2659 Dec 15 2004 SDL_version.h
-rw-r--r-- 1 Ad n Administ 37150 Dec 15 2004 SDL_video.h
-rw-r--r-- 1 Ad n Administ 3864 Dec 15 2004 begin_code.h
-rw-r--r-- 1 Ad n Administ 1423 Dec 15 2004 close_code.h
Y con el make para win sale esto otro:
$ make -f Makefile.win32
gcc -Wall -Wno-switch -march=pentium -mcpu=pentium `sdl-config --cflags` -DWIN32 -DFSL -DTARGET_WIN32 -DTARGET_win32 -DTARGET_windows -ffast-math -fno-common -ffreestanding -fno-builtin -Isrc/ -fno-exceptions -fstrict-aliasing -O6 -I/usr/local/include -I../../include -DDLLINTERFACE="" -c -o fonts.o fonts.c
fonts.c:39:31: SDL_gfxPrimitives.h: No such file or directory
fonts.c:41:29: SDL_gfx_5x7_fnt.h: No such file or directory
fonts.c:42:30: SDL_gfx_7x13_fnt.h: No such file or directory
fonts.c:43:31: SDL_gfx_7x13B_fnt.h: No such file or directory
fonts.c:44:31: SDL_gfx_7x13O_fnt.h: No such file or directory
fonts.c:45:30: SDL_gfx_9x18_fnt.h: No such file or directory
fonts.c:46:31: SDL_gfx_9x18B_fnt.h: No such file or directory
fonts.c:49:25: SDL_gfx_fnt.h: No such file or directory
fonts.c: In function `Draw':
fonts.c:82: warning: implicit declaration of function `gfxPrimitivesSetFont'
fonts.c:82: error: `SDL_gfx_font_5x7_fnt' undeclared (first use in this function)
fonts.c:82: error: (Each undeclared identifier is reported only once
fonts.c:82: error: for each function it appears in.)
fonts.c:83: warning: implicit declaration of function `stringRGBA'
fonts.c:86: error: `SDL_gfx_font_7x13_fnt' undeclared (first use in this function)
fonts.c:90: error: `SDL_gfx_font_7x13B_fnt' undeclared (first use in this function)
fonts.c:94: error: `SDL_gfx_font_7x13O_fnt' undeclared (first use in this function)
fonts.c:98: error: `SDL_gfx_font_9x18_fnt' undeclared (first use in this function)
fonts.c:102: error: `SDL_gfx_font_9x18B_fnt' undeclared (first use in this function)
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
c:\devkitpro\mingw\bin\make.exe: *** [fonts.o] Error 1
Ahora acabo de poner las librerias SDL_UpdateWin32_rc2 en c:\devkitpro\mingw y me sale esto otro:
$ make -f Makefile.win32
gcc -Wall -Wno-switch -march=pentium -mcpu=pentium `sdl-config --cflags` -DWIN32 -DFSL -DTARGET_WIN32 -DTARGET_win32 -DTARGET_windows -ffast-math -fno-common -f freestanding -fno-builtin -Isrc/ -fno-exceptions -fstrict-aliasing -O6 -I/usr/lo cal/include -I../../include -DDLLINTERFACE="" -c -o fonts.o fonts.c
In file included from fonts.c:39:
c:/devkitpro/mingw/include/SDL/SDL_gfxPrimitives.h:36:1: warning: "DLLINTERFACE" redefined
<command line>:7:1: warning: this is the location of the previous definition
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
gcc -L../../lib -L/usr/local/lib -o fonts.exe -lmingw32 fonts.o -lSDL_gfx -lSDL_ static -mwindows -mno-cygwin -luser32 -lgdi32 -lwinmm
c:\devkitpro\mingw\bin\..\lib\gcc\mingw32\3.4.2\.. \..\..\..\mingw32\bin\ld.exe: skipping incompatible ../../lib/libSDL_gfx.a when searching for -lSDL_gfx
c:\devkitpro\mingw\bin\..\lib\gcc\mingw32\3.4.2\.. \..\..\..\mingw32\bin\ld.exe: skipping incompatible ../../lib\libSDL_gfx.a when searching for -lSDL_gfx
c:\devkitpro\mingw\bin\..\lib\gcc\mingw32\3.4.2\.. \..\..\..\mingw32\bin\ld.exe: cannot find -lSDL_static
collect2: ld returned 1 exit status
c:\devkitpro\mingw\bin\make.exe: *** [fonts.exe] Error 1
D_Skywalk
02/10/2005, 01:45
Ok, es que no es lo mismo lo que estabas intentando compilar antes y lo que compilas ahora...
Haz un make clean, tiene pinta que has primero querido compilar para GP y ahora haces un makewin sin limpiar lo anterior... a ver si es eso :?
Y como ves no habias terminado todo el tutorial...
Un Saludo
$ make -f Makefile.win32
gcc -Wall -Wno-switch -march=pentium -mcpu=pentium `sdl-config --cflags` -DWIN32 -DFSL -DTARGET_WIN32 -DTARGET_win32 -DTARGET_windows -ffast-math -fno-common -f freestanding -fno-builtin -Isrc/ -fno-exceptions -fstrict-aliasing -O6 -I/usr/lo cal/include -I../../include -DDLLINTERFACE="" -c -o fonts.o fonts.c
In file included from fonts.c:39:
c:/devkitpro/mingw/include/SDL/SDL_gfxPrimitives.h:36:1: warning: "DLLINTERFACE" redefined
<command line>:7:1: warning: this is the location of the previous definition
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
gcc -L../../lib -L/usr/local/lib -o fonts.exe -lmingw32 fonts.o -lSDL_gfx -lSDL_ static -mwindows -mno-cygwin -luser32 -lgdi32 -lwinmm
c:\devkitpro\mingw\bin\..\lib\gcc\mingw32\3.4.2\.. \..\..\..\mingw32\bin\ld.exe: skipping incompatible ../../lib/libSDL_gfx.a when searching for -lSDL_gfx
c:\devkitpro\mingw\bin\..\lib\gcc\mingw32\3.4.2\.. \..\..\..\mingw32\bin\ld.exe: skipping incompatible ../../lib\libSDL_gfx.a when searching for -lSDL_gfx
c:\devkitpro\mingw\bin\..\lib\gcc\mingw32\3.4.2\.. \..\..\..\mingw32\bin\ld.exe: cannot find -lSDL_static
collect2: ld returned 1 exit status
c:\devkitpro\mingw\bin\make.exe: *** [fonts.exe] Error 1
Eso es lo que me da ahora.... he ech un make clean, y despues el make -f makefile.win32
Lo de terminar la instalacion, eske lo he echo varias veces (con el archivo rar de 70 y pico de megas, con otra instalacion anterior...) y no sabia si ya lo habia echo o no, pero lo he echo por si acaso xDDD
D_Skywalk
02/10/2005, 02:08
Mirate el tutorial de Makefiles, lo que tienes mal es el SDL_static en el makefile, arregla eso y listo...
Lo dicho sigue el tutorial de makefiles como recomienda este tutorial cuando lo terminas y suerte ;)
Un Saludo
ya lo hice, y tengo una base para empezar a programar para la gp32 y tal, pero no se ke hay ke hacer con lo del SDL_static, lo kito?? xDD
Dejo como ultima linea eso de CFILES???? :S ando mas perdio ke un ******* en un puesto de bragas :S
ZeNiTRaM
13/10/2005, 22:31
Una pregunta que puede parecer algo tonta.. ¿Desde SDL se pueden usar las librerias (las que no saquen a pantalla, claro esta) del SDK?
D_Skywalk
14/10/2005, 17:52
Si claro, solo tienes que anteponer "x_" a la funcion del SDK normal (y no tienes que añadirlo ya que el SDK viene con el standalone).
Un Saludo
Pd: que no se te olvide poner el: #include "x_gp32.h" ;)
Tengo un problema al intentar instalar todo esto.
Al intentar instalar el MINGW, se conecta a internet para descargar otros archivos, unos 46 megas. Bien, pues cuando lleva ya un par de esos archivos los intento localizar en el disco duro pero no los encuentro. Para qué? Porque quiero instalar todo esto en un pc sin conexión a internet. Entonces, he mirado los nombres de los archivos que descarga, he descargado yo un par y los he puesto en la misma carpeta desde donde instalo, pero la instalación, si la vuelvo a poner, sigue intentando conectarse para descargarlos, aún estando ahí mismo. Cómo debo hacerlo para poder realizar una instalación del MINGW offline??
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.