Eso en teoría ya va en el "/opt/SDL-1.2.9/bin/i386-mingw32msvc-sdl-config --libs" (el resultado es "-L/opt/SDL-1.2.9/lib -lmingw32 -lSDLmain -lSDL -mwindows"), el problema ahora mismo creo que es que está mál instalado SDL-gfx...
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Páginas1
#1
General Programadores / Compilación cruzada con xmingw, SDL y SDL_gfx
19 de Agosto de 2006, 11:04:08 PM #2
General Programadores / Compilación cruzada con xmingw, SDL y SDL_gfx
19 de Agosto de 2006, 07:32:22 PM
Wola.
Estoy metiéndome en el mundillo de la programación de videojuegos con un pequeño proyecto en SDL bajo Linux, y como soy un poco cabestro y quiero que el juego sea multiplataforma, estoy intentando hacer compilación cruzada (para windows) con xmingw.
Como uso Gentoo, instalé estos paquetes:
- dev-util/xmingw-binutils
- dev-util/xmingw-gcc
- dev-util/xmingw-runtime
- dev-util/xmingw-w32api
[ROLLO]
Después, instalé las librerías de SDL para win32, con este script:
- http://www.icculus.org/~dolson/sdl/sdl-cross-install.sh.txt
Que ejecuté como root y me instaló SDL, SDL_image, SDL_mixer, SDL_net y SDL_ttf en /opt/SDL-1.2.9
En mi programa, también uso SDL_gfx, así que me bajé el código (SDL_gfx-2.0.13.tar.gz), y lo compilé como malamente supongo que se debería compilar xD:
cross-configure.sh:
cross-make.sh:
Y con un make install lo instalé en /opt/SDL-1.2.9 (esto me copió los .h pertinentes, libSDL_gfx.la y libSDL_gfx.a)
*sigh*
Ahora intenté compilar mi juego, que estoy desarollando en kdevelop.
Y llegan los problemas (qué decepción su funcionase a la primera, oiga).
Cualquier intento de compilar con kdevelop desemboca en un
Si me voy a la raíz del proyecto y ejecuto los scripts de antes (cross-configure y cross-make), el configure no me da ningún problema, pero el make ahora mismo me dice que
No sé qué habré cambiado en la configuración del proyecto (y al volver a usar autoconf y automake), porque antes me decía que no podía encontrar -lpthread, que ahora diga que no a -lSDL no sé si es bueno o malo xDD
*En fin* si me voy a la carpeta de sources y simplemente intento hacer un
[/ROLLO]
No me pone ninguna pega al compilar (*esperanza*) pero! (*depresión*) al linkar me escupe
Que me suena a librería mal instalada.
En fin, antes de seguir dando palos de ciego, álguien tiene experiencia haciendo este tipo de cosas y me puede comentar qué puedo estar haciendo mal? xD
Estoy metiéndome en el mundillo de la programación de videojuegos con un pequeño proyecto en SDL bajo Linux, y como soy un poco cabestro y quiero que el juego sea multiplataforma, estoy intentando hacer compilación cruzada (para windows) con xmingw.
Como uso Gentoo, instalé estos paquetes:
- dev-util/xmingw-binutils
- dev-util/xmingw-gcc
- dev-util/xmingw-runtime
- dev-util/xmingw-w32api
[ROLLO]
Después, instalé las librerías de SDL para win32, con este script:
- http://www.icculus.org/~dolson/sdl/sdl-cross-install.sh.txt
Que ejecuté como root y me instaló SDL, SDL_image, SDL_mixer, SDL_net y SDL_ttf en /opt/SDL-1.2.9
En mi programa, también uso SDL_gfx, así que me bajé el código (SDL_gfx-2.0.13.tar.gz), y lo compilé como malamente supongo que se debería compilar xD:
cross-configure.sh:
Código [Seleccionar]
#!/bin/sh
CONFIG_SHELL=/bin/sh
export CONFIG_SHELL
PREFIX=/opt/SDL-1.2.9
TARGET=i386-mingw32msvc
PATH="$PREFIX/bin:/opt/xmingw/bin:$PATH"
export PATH
SDL_CONFIG="$PREFIX/bin/$TARGET-sdl-config"
export SDL_CONFIG
cache=cross-config.cache
sh configure --cache-file="$cache" \
--target=$TARGET --host=$TARGET --build=i386-linux --prefix=/opt/SDL-1.2.9\
$*
status=$?
rm -f "$cache"
exit $status
cross-make.sh:
Código [Seleccionar]
#!/bin/sh
PREFIX=/opt/SDL-1.2.9
TARGET=i386-mingw32msvc
PATH="$PREFIX/bin:/opt/xmingw/bin:$PATH"
export PATH
exec make $*
Y con un make install lo instalé en /opt/SDL-1.2.9 (esto me copió los .h pertinentes, libSDL_gfx.la y libSDL_gfx.a)
*sigh*
Ahora intenté compilar mi juego, que estoy desarollando en kdevelop.
Y llegan los problemas (qué decepción su funcionase a la primera, oiga).
Cualquier intento de compilar con kdevelop desemboca en un
Código [Seleccionar]
configure: error: C++ compiler cannot create executables" cuando hago el configure.
Si me voy a la raíz del proyecto y ejecuto los scripts de antes (cross-configure y cross-make), el configure no me da ningún problema, pero el make ahora mismo me dice que
Código [Seleccionar]
/opt/xmingw/lib/gcc/i386-mingw32msvc/3.4.4/../../../../i386-mingw32msvc/bin/ld: cannot find -lSDL
No sé qué habré cambiado en la configuración del proyecto (y al volver a usar autoconf y automake), porque antes me decía que no podía encontrar -lpthread, que ahora diga que no a -lSDL no sé si es bueno o malo xDD
*En fin* si me voy a la carpeta de sources y simplemente intento hacer un
Código [Seleccionar]
i386-mingw32msvc-g++ *.cpp *.h `/opt/SDL-1.2.9/bin/i386-mingw32msvc-sdl-config --libs --cflags` -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_gfx
[/ROLLO]
No me pone ninguna pega al compilar (*esperanza*) pero! (*depresión*) al linkar me escupe
Código [Seleccionar]
collect2: ld terminated with signal 11 [Segmentation fault]
/tmp/cclrKPyx.o:CFramerate.cpp:(.text+0x21): undefined reference to `__imp__SDL_initFramerate'
/tmp/cclrKPyx.o:CFramerate.cpp:(.text+0xd3): undefined reference to `__imp__SDL_initFramerate'
/tmp/ccaZGCut.o:CGame.cpp:(.text$_ZN9Framerate6setFPSEi[Framerate::setFPS(int)]+0x16): undefined reference to `__imp__SDL_setFramerate'
/tmp/ccaZGCut.o:CGame.cpp:(.text$_ZN9Framerate5delayEv[Framerate::delay()]+0xf): undefined reference to `__imp__SDL_framerateDelay'
Que me suena a librería mal instalada.
En fin, antes de seguir dando palos de ciego, álguien tiene experiencia haciendo este tipo de cosas y me puede comentar qué puedo estar haciendo mal? xD
Páginas1