maRRRc!
12/08/2007, 17:20
Hola,
he seguido esta guía (http://wiki.gp2x.org/wiki/Using_Visual_C_2005_Express_Edition) para poder utilizar el Visual Studio para compilar para la gp2x. Lo que se hace es con un plantilla decirle al VS que compile con el gcc en lugar de su propio compilador.
Después de arreglar un par de cosillas que no iban bien, conseguí compilar, enlazar y ejecutar un ejemplillo que solo utiliza SDL y SDL_image.
Ahora estoy intentando hacer lo mismo pero con SDL_mixer y que reproduzca un ogg, pero no hay manera.
Las bibliotecas que tengo instaladas son las SDL aceleradas por hardware, y para el resto, el pack de librerías alternativas que hay en la sección de descargas.
Este es el log del error:
------ Operación Generar iniciada: proyecto: prova2, configuración: Debug Win32 ------
Linking prova2.gpe...
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(mus ic_ogg.o): In function `OGG_playAudio':
music_ogg.c .text+0x180): undefined reference to `ov_read'
music_ogg.c .text+0x1ac): undefined reference to `ov_info'
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(mus ic_ogg.o): In function `OGG_delete':
music_ogg.c .text+0x2dc): undefined reference to `ov_clear'
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(mus ic_ogg.o): In function `OGG_jump_to_time':
music_ogg.c .text+0x310): undefined reference to `ov_time_seek'
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(mus ic_ogg.o): In function `OGG_new':
music_ogg.c .text+0x374): undefined reference to `ov_open'
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(mus ic_ogg.o): In function `OGG_new_RW':
music_ogg.c .text+0x45c): undefined reference to `ov_open_callbacks'
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(loa d_ogg.o): In function `Mix_LoadOGG_RW':
load_ogg.c .text+0x10c): undefined reference to `ov_open_callbacks'
load_ogg.c .text+0x194): undefined reference to `ov_info'
load_ogg.c .text+0x1e8): undefined reference to `ov_pcm_total'
load_ogg.c .text+0x238): undefined reference to `ov_read'
load_ogg.c .text+0x254): undefined reference to `ov_clear'
load_ogg.c .text+0x29c): undefined reference to `ov_read'
Parece ser que se hace un lio con la del ogg, del vorbis o que se yo :S
La orden para enlazar, (porque compilar compila perfectamente) generada es esta:
arm-linux-gcc.exe Debug\*.o -o prova2.gpe -LC:\devkitpro\devkitGP2X\lib\ -LC:\devkitpro\devkitGP2X\lib\SDL -lSDL_image -lvorbis -lvorbisfile -logg -lSDL_mixer -lsmpeg -lSDL -lpthread -lstdc++ -lm -static 2>&1
Si alguien sabe que falla, si es un problema de las bibliotecas o lo que sea, le estaré eternamente agradecido ;)
PD: También he probado con el sdk oficial, pero aparte de que no me compila, el devcpp no me gusta :S
he seguido esta guía (http://wiki.gp2x.org/wiki/Using_Visual_C_2005_Express_Edition) para poder utilizar el Visual Studio para compilar para la gp2x. Lo que se hace es con un plantilla decirle al VS que compile con el gcc en lugar de su propio compilador.
Después de arreglar un par de cosillas que no iban bien, conseguí compilar, enlazar y ejecutar un ejemplillo que solo utiliza SDL y SDL_image.
Ahora estoy intentando hacer lo mismo pero con SDL_mixer y que reproduzca un ogg, pero no hay manera.
Las bibliotecas que tengo instaladas son las SDL aceleradas por hardware, y para el resto, el pack de librerías alternativas que hay en la sección de descargas.
Este es el log del error:
------ Operación Generar iniciada: proyecto: prova2, configuración: Debug Win32 ------
Linking prova2.gpe...
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(mus ic_ogg.o): In function `OGG_playAudio':
music_ogg.c .text+0x180): undefined reference to `ov_read'
music_ogg.c .text+0x1ac): undefined reference to `ov_info'
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(mus ic_ogg.o): In function `OGG_delete':
music_ogg.c .text+0x2dc): undefined reference to `ov_clear'
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(mus ic_ogg.o): In function `OGG_jump_to_time':
music_ogg.c .text+0x310): undefined reference to `ov_time_seek'
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(mus ic_ogg.o): In function `OGG_new':
music_ogg.c .text+0x374): undefined reference to `ov_open'
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(mus ic_ogg.o): In function `OGG_new_RW':
music_ogg.c .text+0x45c): undefined reference to `ov_open_callbacks'
C:\devkitpro\devkitGP2X\lib\SDL\libSDL_mixer.a(loa d_ogg.o): In function `Mix_LoadOGG_RW':
load_ogg.c .text+0x10c): undefined reference to `ov_open_callbacks'
load_ogg.c .text+0x194): undefined reference to `ov_info'
load_ogg.c .text+0x1e8): undefined reference to `ov_pcm_total'
load_ogg.c .text+0x238): undefined reference to `ov_read'
load_ogg.c .text+0x254): undefined reference to `ov_clear'
load_ogg.c .text+0x29c): undefined reference to `ov_read'
Parece ser que se hace un lio con la del ogg, del vorbis o que se yo :S
La orden para enlazar, (porque compilar compila perfectamente) generada es esta:
arm-linux-gcc.exe Debug\*.o -o prova2.gpe -LC:\devkitpro\devkitGP2X\lib\ -LC:\devkitpro\devkitGP2X\lib\SDL -lSDL_image -lvorbis -lvorbisfile -logg -lSDL_mixer -lsmpeg -lSDL -lpthread -lstdc++ -lm -static 2>&1
Si alguien sabe que falla, si es un problema de las bibliotecas o lo que sea, le estaré eternamente agradecido ;)
PD: También he probado con el sdk oficial, pero aparte de que no me compila, el devcpp no me gusta :S