gade
06/03/2008, 05:08
Hola! últimamente he pasado unas noches programando un juego para la gp2x, con la ilusión de presentarlo a la pdroms compo. El problema viene que el plazo es hasta este domingo y yo aunque todo el código lo había programado y probado en linux, con todo preparado para portarlo, pensando que todo sería simple y agradable...y hoy he empezado a testear todo en la gp2x y ha sido horrible!!! :S
Estoy usando la toolchain de Open2x, y no entiendo nada :S, primero si inicio por HW todo va lentísimo... porque?¿, y lo más importante no consigo pasar de la intro porque me explota todo brutalmente con un error que tiene que ver con la compilación seguro:
Running Main menu...
./tiny.gpe: relocation error: ./tiny.gpe: symbol __floatsisf, version GCC_3.0 not defined in file libgcc_s.so.1 with link time reference
[root@gp2x tinyworld]$
Y yo no tengo mucha practica en compilar usando makefiles, por lo que no sé que leches hago mal :S
Si algun programador con más experiencia me echa un cable le agradecería infinitamente... :brindis:
Dejo aqui el makefile, que probablemente no este muy correcto:
PROG_NAME = tiny
SOURCES = src/main.cpp
OBJECTS = $(SOURCES:.cpp=.o)
BIN = $(PROG_NAME)
BIN_GP = $(PROG_NAME).gpe
CROSS_PATH = /opt/open2x/gcc-4.1.1-glibc-2.3.6/
CXXFLAGS = -c -Wall -Wextra
LDFLAGS = -lm -lg -lpthread -lSDL -lSDL_mixer -lSDL_ttf -lSDL_image
LDFLAGS_GP = -DGP2X_MODE `$(CROSS_PATH)bin/sdl-config --cflags` `$(CROSS_PATH)bin/sdl-config --static-libs`
ifdef arm
CXX = $(CROSS_PATH)bin/arm-open2x-linux-g++
CXXFLAGS += -I$(CROSS_PATH)include -DGP2X_MODE `$(CROSS_PATH)bin/sdl-config --cflags` `$(CROSS_PATH)bin/sdl-config --static-libs`
else
CXX = g++
CXXFLAGS += `sdl-config --cflags`
endif
all:
make cleanobjs
make pcversion
make cleanobjs
make gpversion arm=1
pcversion: $(SOURCES) $(BIN)
gpversion: $(SOURCES) $(BIN_GP)
$(BIN): $(OBJECTS)
$(CXX) $(LDFLAGS) $(OBJECTS) -o $@
$(BIN_GP): $(OBJECTS)
$(CXX) $(LDFLAGS_GP) $(LDFLAGS) $(OBJECTS) -o $@
.cpp.o:
$(CXX) $(CXXFLAGS) $< -o $@
cleanobjs:
rm -f $(OBJECTS)
clean:
-rm -f $(BIN_GP) $(BIN) *~ *.o *.bak
Cuya salida es:
jon@jon-laptop:~/Programacion/2d/tinyworld$ make
make cleanobjs
make[1]: se ingresa al directorio `/home/jon/Programacion/2d/tinyworld'
rm -f src/main.o
make[1]: se sale del directorio `/home/jon/Programacion/2d/tinyworld'
make pcversion
make[1]: se ingresa al directorio `/home/jon/Programacion/2d/tinyworld'
g++ -c -Wall -Wextra `sdl-config --cflags` src/main.cpp -o src/main.o
src/main.cpp:3: aviso: parámetro ‘argc’ sin uso
src/main.cpp:3: aviso: parámetro ‘argv’ sin uso
src/main.cpp: In member function ‘void Game::intro()’:
src/main.cpp:68: aviso: variable ‘temp4’ sin usar
g++ -lm -lg -lpthread -lSDL -lSDL_mixer -lSDL_ttf -lSDL_image src/main.o -o tiny
make[1]: se sale del directorio `/home/jon/Programacion/2d/tinyworld'
make cleanobjs
make[1]: se ingresa al directorio `/home/jon/Programacion/2d/tinyworld'
rm -f src/main.o
make[1]: se sale del directorio `/home/jon/Programacion/2d/tinyworld'
make gpversion arm=1
make[1]: se ingresa al directorio `/home/jon/Programacion/2d/tinyworld'
/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/arm-open2x-linux-g++ -c -Wall -Wextra -I/opt/open2x/gcc-4.1.1-glibc-2.3.6/include -DGP2X_MODE `/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/sdl-config --cflags` `/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/sdl-config --static-libs` src/main.cpp -o src/main.o
src/main.cpp:3: warning: unused parameter 'argc'
src/main.cpp:3: warning: unused parameter 'argv'
src/main.cpp: In member function 'void Game::intro()':
src/main.cpp:68: warning: unused variable 'temp4'
arm-open2x-linux-g++: -rpath: linker input file unused because linking not done
arm-open2x-linux-g++: /opt/open2x/gcc-4.1.1-glibc-2.3.6/lib: linker input file unused because linking not done
arm-open2x-linux-g++: -lSDL: linker input file unused because linking not done
arm-open2x-linux-g++: -lpthread: linker input file unused because linking not done
arm-open2x-linux-g++: -lm: linker input file unused because linking not done
arm-open2x-linux-g++: -ldl: linker input file unused because linking not done
/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/arm-open2x-linux-g++ -DGP2X_MODE `/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/sdl-config --cflags` `/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/sdl-config --static-libs` -lm -lg -lpthread -lSDL -lSDL_mixer -lSDL_ttf -lSDL_image src/main.o -o tiny.gpe
make[1]: se sale del directorio `/home/jon/Programacion/2d/tinyworld'
jon@jon-laptop:~/Programacion/2d/tinyworld$
SIENTO MUCHO LA CHAPA...:rolleyes:, y postear solo cuando necesito algo, después de años leyendo a diario... ?¿
Si todo sale bien, necesitaré también que alguien prueba la beta antes de enviarla, si alguien le apetece...
El juego será algo parecido a exploración y plataformas, en 4 colores, esta en c++ todo, con ayuda de tinyxml, y liberaré el código cuando todo este funcionando y limpito.
Una imagen:
http://elektrotokyo.com/wp-content/uploads/2008/02/pantallazo-tinyworld-001.png
Estoy usando la toolchain de Open2x, y no entiendo nada :S, primero si inicio por HW todo va lentísimo... porque?¿, y lo más importante no consigo pasar de la intro porque me explota todo brutalmente con un error que tiene que ver con la compilación seguro:
Running Main menu...
./tiny.gpe: relocation error: ./tiny.gpe: symbol __floatsisf, version GCC_3.0 not defined in file libgcc_s.so.1 with link time reference
[root@gp2x tinyworld]$
Y yo no tengo mucha practica en compilar usando makefiles, por lo que no sé que leches hago mal :S
Si algun programador con más experiencia me echa un cable le agradecería infinitamente... :brindis:
Dejo aqui el makefile, que probablemente no este muy correcto:
PROG_NAME = tiny
SOURCES = src/main.cpp
OBJECTS = $(SOURCES:.cpp=.o)
BIN = $(PROG_NAME)
BIN_GP = $(PROG_NAME).gpe
CROSS_PATH = /opt/open2x/gcc-4.1.1-glibc-2.3.6/
CXXFLAGS = -c -Wall -Wextra
LDFLAGS = -lm -lg -lpthread -lSDL -lSDL_mixer -lSDL_ttf -lSDL_image
LDFLAGS_GP = -DGP2X_MODE `$(CROSS_PATH)bin/sdl-config --cflags` `$(CROSS_PATH)bin/sdl-config --static-libs`
ifdef arm
CXX = $(CROSS_PATH)bin/arm-open2x-linux-g++
CXXFLAGS += -I$(CROSS_PATH)include -DGP2X_MODE `$(CROSS_PATH)bin/sdl-config --cflags` `$(CROSS_PATH)bin/sdl-config --static-libs`
else
CXX = g++
CXXFLAGS += `sdl-config --cflags`
endif
all:
make cleanobjs
make pcversion
make cleanobjs
make gpversion arm=1
pcversion: $(SOURCES) $(BIN)
gpversion: $(SOURCES) $(BIN_GP)
$(BIN): $(OBJECTS)
$(CXX) $(LDFLAGS) $(OBJECTS) -o $@
$(BIN_GP): $(OBJECTS)
$(CXX) $(LDFLAGS_GP) $(LDFLAGS) $(OBJECTS) -o $@
.cpp.o:
$(CXX) $(CXXFLAGS) $< -o $@
cleanobjs:
rm -f $(OBJECTS)
clean:
-rm -f $(BIN_GP) $(BIN) *~ *.o *.bak
Cuya salida es:
jon@jon-laptop:~/Programacion/2d/tinyworld$ make
make cleanobjs
make[1]: se ingresa al directorio `/home/jon/Programacion/2d/tinyworld'
rm -f src/main.o
make[1]: se sale del directorio `/home/jon/Programacion/2d/tinyworld'
make pcversion
make[1]: se ingresa al directorio `/home/jon/Programacion/2d/tinyworld'
g++ -c -Wall -Wextra `sdl-config --cflags` src/main.cpp -o src/main.o
src/main.cpp:3: aviso: parámetro ‘argc’ sin uso
src/main.cpp:3: aviso: parámetro ‘argv’ sin uso
src/main.cpp: In member function ‘void Game::intro()’:
src/main.cpp:68: aviso: variable ‘temp4’ sin usar
g++ -lm -lg -lpthread -lSDL -lSDL_mixer -lSDL_ttf -lSDL_image src/main.o -o tiny
make[1]: se sale del directorio `/home/jon/Programacion/2d/tinyworld'
make cleanobjs
make[1]: se ingresa al directorio `/home/jon/Programacion/2d/tinyworld'
rm -f src/main.o
make[1]: se sale del directorio `/home/jon/Programacion/2d/tinyworld'
make gpversion arm=1
make[1]: se ingresa al directorio `/home/jon/Programacion/2d/tinyworld'
/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/arm-open2x-linux-g++ -c -Wall -Wextra -I/opt/open2x/gcc-4.1.1-glibc-2.3.6/include -DGP2X_MODE `/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/sdl-config --cflags` `/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/sdl-config --static-libs` src/main.cpp -o src/main.o
src/main.cpp:3: warning: unused parameter 'argc'
src/main.cpp:3: warning: unused parameter 'argv'
src/main.cpp: In member function 'void Game::intro()':
src/main.cpp:68: warning: unused variable 'temp4'
arm-open2x-linux-g++: -rpath: linker input file unused because linking not done
arm-open2x-linux-g++: /opt/open2x/gcc-4.1.1-glibc-2.3.6/lib: linker input file unused because linking not done
arm-open2x-linux-g++: -lSDL: linker input file unused because linking not done
arm-open2x-linux-g++: -lpthread: linker input file unused because linking not done
arm-open2x-linux-g++: -lm: linker input file unused because linking not done
arm-open2x-linux-g++: -ldl: linker input file unused because linking not done
/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/arm-open2x-linux-g++ -DGP2X_MODE `/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/sdl-config --cflags` `/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/sdl-config --static-libs` -lm -lg -lpthread -lSDL -lSDL_mixer -lSDL_ttf -lSDL_image src/main.o -o tiny.gpe
make[1]: se sale del directorio `/home/jon/Programacion/2d/tinyworld'
jon@jon-laptop:~/Programacion/2d/tinyworld$
SIENTO MUCHO LA CHAPA...:rolleyes:, y postear solo cuando necesito algo, después de años leyendo a diario... ?¿
Si todo sale bien, necesitaré también que alguien prueba la beta antes de enviarla, si alguien le apetece...
El juego será algo parecido a exploración y plataformas, en 4 colores, esta en c++ todo, con ayuda de tinyxml, y liberaré el código cuando todo este funcionando y limpito.
Una imagen:
http://elektrotokyo.com/wp-content/uploads/2008/02/pantallazo-tinyworld-001.png