Ver la versión completa : Problema cuando compilo con minigp32
Tengo un problema al compilar con el minigp32, compilo ejemplos y siempre me da este error
C:\minigp32\here your projects\newvox>make
arm-agb-elf-gcc -g -o newvox.elf crt0.o gpstart.o newvox.o -Tlnkscript user_ini
t.o -nostartfiles -L../SDL -lSDL_image -lpng -lSDL_mixer -lSDL -lz -ljpeg -lgpm
em -lgpos -lgpstdio -lgpstdlib -lgpsound -lm -lc -lgpgraphic -lgpfont
c:\minigp32\bin\..\lib\gcc-lib\arm-agb-elf\3.2.2\..\..\..\..\arm-agb-elf\bin\ld.
exe: cannot find -lg
collect2: ld returned 1 exit status
c:\minigp32\bin\..\lib\gcc-lib\arm-agb-elf\3.2.2\..\..\..\..\arm-agb-elf\bin\ld.
exe: cannot find -lg
make: *** [newvox.elf] Error 1
No se por puede ser creo q el archivo elf es un binario, pero no se si es el resultante de la compilacion o q.... Alguien me puede ayudar????
artblanc
11/11/2003, 20:15
El error que te sale te lo está dando el ld.exe
El ld.exe es el linker.
El compilador se encarga de compilar todos los ficheros fuente en sus correspondientes .o y el linker de juntar estos ultimos en el ejecutable final.
Parece que no encuentra algo que se llama: -lg
En la nomenclatura de unix si eso está como requisito al linkar en el makefile seria:
-l -> indica una libreria
g -> el nombre de la libreria
Prueba 2 cosas:
- Revisa el makefile mirando las dependencias del linkado
- Revisa los paths a las librerias
Un saludo
Descomprime este archivo y copialo en c:\minigp\arm-agb-elf\lib
Supongo que así te funcionará.
>make
make: *** Warning: File `Makefile' has modification time in the future (2003-09-02 19:23:38 > 2003-01-24 23:37:17)
arm-agb-elf-gcc -IC:\minigp32\include -IC:\minigp32\include\SDL -IC:\minigp32\include\libc-wrap -I. -O2 -mtune=arm920 -DGFXST -Wuninitialized -Wno-import -Wchar-subscripts -Wformat -Wimplicit-int -Wimplicit-function-declaration -Wmultichar -Wreturn-type -Wswitch -Wunused -Wuninitialized -Wsign-compare -msoft-float -mthumb-interwork -c -o gpstart.o gpstart.c
arm-agb-elf-gcc: installation problem, cannot exec `cc1': No such file or directory
make: *** [gpstart.o] Error 1
>Exit code: 2
Y este error, sabeis a qué se debe? :-P ya que estais hablando de eso aprovecho... ^_^
Compilandoooo ya funciona gracias
Socio socio, po dime cómo lo ha hecho socio ^_^
Sd-Snatcher
08/12/2003, 18:06
Callada por respuesta.
creo soup que tu problema no tiene nada que ver con el suyo.
(_=*ZaXeR*=_)
09/12/2003, 11:21
Lo mismo pienso yo, que no tiene na que ver.
Bueno una cosilla, me voy a pillar finalmente el minigp32 para hacer mis programitas, ya que usaba el ADS y fallaba con ejemplos que no usaban el SDK y tal, y como queria usar el GDL pos ya sabeis, el caso es que estoy viendo que mucha gente tiene problemas con el minigp32, que es lo que ocurre es muy chungo de configurar o que? porque me esta metiendo miedo, acostumbrao a instalar y cambiar 3 tonterias y luego compilar.... y si da tantos problemas, que pensais si uso el GDL cascara mas o que? que debo hacer para que me funcione todo bien con el GDL.
Espero que sea una respuesta no mu larga, y que no requiera que tenga ya instalado el minigp32 porque todavia no lo tengo, espero que me digais como se hace para no encontrarme en la estacada cuando lo consiga.
Un saludo
Sd-Snatcher
09/12/2003, 15:42
Pues yo no he tenido mas problema que el de que no hay librerias para graficos de 16bits, por lo demas no hay que instalar nada, solo descomprimirlo y a usarlo.
(_=*ZaXeR*=_)
09/12/2003, 21:08
Joe entonces porque hay tanta gente diciendo que si no le compiloa que le da tal problema y le ponen un archivo para que se bajen, otro que le cambia el make etc... yo supuse que era descomprir y programar pero como veo tantos post en el foro con gente que tiene problemas y que quiere manuales para el minigp32 pos me estaban asustando, y el tema de usar el GDL no tendra mas misterio que meter las librerias en el include digo yo no?
Sd-Snatcher
09/12/2003, 23:44
Xasto.
Ademas creo que acabo de solucionar mi problema con los 16 bpp, ya que acabo de bajarme una version aun mas avanzada.
(_=*ZaXeR*=_)
10/12/2003, 00:03
Pos me tranquiliza mucho, entones porque la gente tiene tantos problemas?, bueno es lo mismo a b si despues voy a tenerlo yo y me van a recordar mas de uno estas palabras que fijo que me pasa jajajaja, a b que podemos sacar programando, porcierto lo de los 16bit 8 bit etc de los colores para que sirve concretamente? porque no se hacen los sprites con los colores que quieras sin mas? tiene algo que ver con el buffer o algo similar? es que en programacion grafica poquito he hecho todo lo que he hecho fue en basic con un programita que yo le metia el sprite y me lo transformaba para meterlo y sin problemas.
Sd-Snatcher
10/12/2003, 01:00
a 8bpp solo tienes 256 colores con paleta a 16bpp tienes 65536 colores sin paleta, este ultimo mola mas, pero ocupa el doble de memoria y va a la mitad de velocidad + o -.
(_=*ZaXeR*=_) lo de los bits es muy sencillo:
con 16 bits y en adelante (24 y 32) lo que haces es almacenar el color del propio pixel. Por ejemplo si un pixel ocupa 16 bits, puedes tener 5 bits para el componente rojo, 5 para el azul y 6 para el verde (hay más combinaciones claro, pero esta es habitual) El color del pixel lo consigues dando un valor a cada uno de esos componentes, por ejemplo y suponiendo el pixel RGB (ese es el orden de las componentes) tendríamos
Si queremos un pixel rojo:
255 0 0 -----> 11111 000000 00000
Si queremos uno blanco:
255 255 255 -----> 11111 11111 11111
Si, ya se que son de 15 bits, pero se entiende la idea :P Además. también se pueden usar 15 bits, 5 para cada color, y uno que indique si el sprite es semi-trasparente si mal no recuerdo (no estoy muy seguro de esto último)
En los modos de 8 bits, sin embargo, tendríamos muy poca informacion de color que meter en 8 bits (serían dos colores con 3 bits, y uno con dos, lo que nos dan muy pocas combinaciones)
Lo que se hace entonces es crear una paleta, es decir una region de memoria que contiene la información de color, de forma que cada pixel es en realidad un puntero a un color de la paleta. Esta región de memoria tendrá 2^8 = 256 colores distintos. Parece poco, pero si suponemos que cada sprite puede tener su propia paleta (y diferente de las demás) así como cada fondo, la cosa es mucho más útil., porque puedes crear una paleta para un personaje con la ropa azul con variados tonos de azul y da un buen aspecto, y puedes hacer lo mismo para otro personaje que vista de rojo :)
Además, como bien dice Sd-Snatcher ahorras memoria y ganas en velocidad. También puedes hacer algún efecto guapo variando la paleta, y por tanto cambiado los colores del objeto al que está asignado dicha paleta.
No estoy seguro, pero creo que en el street fighter se hacía así, cuando luchabas con dos jugadores iguales (por ejemplo salía un ryu blanco y otro azul) Obviamente no he mirado el código fuente pero tiene toda la pinta.
La desventaja clara es que la cantidad de colores, y por tanto la calidad, se reduce. (Digamos que no es un modo adecuado para fotografías ;))
Espero que se entienda la explicación, y que no haya metido muchas patadas.
Un saludo
Sd-Snatcher
10/12/2003, 02:01
Solo en lo del ryu, aun cambiando la paleta ambos tendrian el mismo color, pues cambiaria para los 2, sencillamente son de color diferente.
enkonsierto
10/12/2003, 11:36
zaxer, si necesitas el minigp yo te lo paso.
enkonsierto
10/12/2003, 11:37
y si necesitas un grafista, pues tambien :D :D
Hum, no necesariamente, por ejemplo en la SDL cada superficie puede tener su paleta independiente, así que puedes cargar una imagen y asignarle otra paleta (siempre con 8 bits claro) En la GBA creo que cada sprite puede tener su propia paleta o una global.
De todas maneras, como digo, en lo de Ryu es sólo una suposición mía.
Un saludo.
Sd-Snatcher
10/12/2003, 16:10
y si necesitas un grafista, pues tambien
Por email? por DCC? por ftp?, como se meta una mosca ya veras.
por ejemplo en la SDL cada superficie puede tener su paleta independiente
Pero no puedes ver 2 superficies al mismo tiempo. A no ser que uses efectos raster, pero es otro tema.
En un principio hay 256 colores y una paleta para ellos, es un limite del hard.
enkonsierto
10/12/2003, 16:21
Originalmente anunciado por Sd-Snatcher
Por email? por DCC? por ftp?, como se meta una mosca ya veras.
Por cd :D :D :D
Si es cosa de la GP32 no lo se, pero con la biblioteca SDL cargas dos imágenes iguales en dos superficies, les asignas a cada una dos paletas distintas y se ven las dos a la vez y con colores distintos, aunque no más de 256 claro.
Y que yo recuerde en la GBA también puedes hacerlo.
Un saludo.
Editado: En lo de la GBA me colé, tienes dos paletas diferentes para los fondos y para los sprites. (en realidad 512Kb de memoria para cada una)
Aunque para los sprites puedes usar o bien una paleta global de 256 colores o bien 16 paletas inviduales de 16 colores cada una.
Perdón por la patada.
Sd-Snatcher
10/12/2003, 23:49
Entonces sera que el SDL hace el truqui y te cambia los colores, prueba a hacerlo con 2 de 256 colores, veras como no pita.
Oye pues ahora me has dejado con la duda :confused:
Voy a ver si hago un programita con SDL, lo que no se es como sacar la paleta de una imagen en formato numérico (el photoshop te la extrae, pero en dos formatos nativos, y ficheros binarios)
Tengo por ahí una aplicación para la GBA que dada una imagen te genéra código en C con los colores, a ver si puedo hacer algo con eso :)
Lo que no se es cuanto tardaré, que tengo un examen dentro de poco, pero cuando lo acabe ya escribo aquí las experiencias :)
Un saludo
A ver, lo prometido es deuda, aunque se tarde un poco. :P
Aqui hay un programa en SDL que utiliza la imagen en gif de mi avatar, y la pasa a escala de grises. aunque queda un poco chapuza.
Las paleta se guardan como un array de estructuras SDL_Color, que es como se guarda la paleta en SDL.
Estoy haciendo una biblioteca para extraer la paleta de imágenes o superficies y que crea un fichero .h con esa información. De hecho es como he generado los ficheros "avatar.h" y "avatar_gris.h" que son los que contienen la información de la paleta.
Requiere la biblioteca SDL_Image para compilar.
Pulsando espacio se intercambian las paletas de la segunda imagen, y como se ve, sólo se carga el fichero avatar.gif, luego se puede utilizar distintas paletas sobre la misma imagen para cambiarle los colores, a la vez que muestras la original.
Así sólo tienes que guardar la información de la paleta (que son sólo 256 bytes) y te ahorras lo que ocupe el resto de la imágen. :)
Respecto a la biblioteca para extraer la paleta, en cuanto la mejore un poco la publico, ya que de momento no acepta imágenes de 16 bit o más de color, sólo de 8 bits. Estoy en proceso de lograr que convierta todo tipo de imágenes a 8 bits y luego les extraiga la paleta.
Además tengo que retocar un par de cosas porque como podreis ver por el programa, algo pasa con los colores de la paleta (posiblemente algo convierto mal)
Bueno, ahí va eso.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.