Ver la versión completa : Tutorial de programación para GP2X (SDL, Minimal Lib, Fenix, etc.) en Mac con Xcode 3
Hola
aprovechando que me he desvelado, y tomando como base lo hecho anterioremente (http://www.gp32spain.com/foros/showthread.php?t=51206) para GP32, he preparado unas plantillas de XCode (http://developer.apple.com/tools/download/) (el IDE de Apple para programar en Mac OS X) y una imagen de disco, que permiten comenzar un proyecto de programación en C (con SDL o Minimal Lib), en Fenix o en Ultimate Fenix para GP2X. Además, he preparado también una plantilla de lenguaje para que XCode reconozca la sintaxis del código de Fenix y lo coloree adecuadamente.
Los archivos se pueden bajar de aquí:
http://homepage.mac.com/kounch/.Public/GP2X%20XCode%20templates.zip (8,7MB)- Plantillas de XCode. Necesario para Fenix y SDL
http://homepage.mac.com/kounch/.Public/gp2xSDKbuild_Leopard.sparsebundle.7z (65,3MB)- Imagen con compilador y librerías de C y SDL. No es necesario para Fenix
Instalación
Instalar XCode 3, que viene con los discos de instalación de Leopard, o bien se puede bajar de http://developer.apple.com/tools/download/ (el registro es gratuito).
Bajar y descomprimir las plantillas (http://homepage.mac.com/kounch/.Public/GP2X%20XCode%20templates.zip).
Copiar el contenido de "Project Templates" en el directorio "/Developer/Library/Xcode/Project Templates/" y el contenido de "Specifications" en el directorio "/Developer/Library/Xcode/Specifications/" (se necesita un usuario administrador).
Sólo si se va a trabajar con C, crear un entorno de desarrollo como se indica aquí (http://wiki.gp32spain.com/index.php/Cómo%20compilar%20el%20entorno%20de%20desarrollo%2 0completo%20para%20GP2X%20en%20Mac%20OS%20X) o bien bajar la imagen que he preparado (http://homepage.mac.com/kounch/.Public/gp2xSDKbuild_Leopard.sparsebundle.7z).
Uso de la plantilla de Fenix o Ultimate Ffenix
Una vez instalado todo, cerrar si estuviera abierto XCode y volver a abrirlo. Elegir la opción "New Project" del menú "File", y elegir en la ventana que aparece GP2X y luego Fenix o Ultimate Fenix:
http://homepage.mac.com/kounch/GP2X/Images/Imagen01.png
Elegir un nombre para el proyecto y el directorio donde se va a crear.
Una vez creado, os aparecerá la ventana del mismo:
http://homepage.mac.com/kounch/GP2X/Images/Imagen03.png
Para compilar el programa y probarlo, basta con pulsar en el icono "Build"
De aquí los ficheros que se deben ajustar a vuestro gusto (antes de cada compilación, claro) son los siguientes:
<<nombre del projecto>>.prg Código fuente en Fenix.
Makefile Archivo con las reglas para compilar el proyecto poner nombre, etc. Interesante para usuarios avanzados que quieran personalizar más su programa.
Notar, si se hace doble clic sobre el archivo .prg, que XCode reconoce el tipo de archivo y colorea adecuadamente el código:
http://homepage.mac.com/kounch/GP32/Images/Imagen03.png
Después de haber compilado, se creará todo lo necesario en el directorio build de la carpeta del proyecto:
http://homepage.mac.com/kounch/GP2X/Images/Imagen04.png
Para probarlo en la GP2X, basta con copiar el contenido de GP2X a un directorio de una tarjeta SD.
Observar también que se crea un directorio "Mac", con un archivo test.sh:
http://homepage.mac.com/kounch/GP2X/Images/Imagen05.png
Este sirve para probar (parcialmente) nuestro programa en el Mac sin necesidad de copiarlo a la GP2X, hacer doble clic sobre dicho archivo test.sh para verlo.
Uso de la plantilla de SDL o Minimal Lib
Una vez instalado todo, cerrar si estuviera abierto XCode y volver a abrirlo. Elegir la opción "New Project" del menú "File", y elegir en la ventana que aparece GP2X y luego SDL o Minimal Lib.
Elegir un nombre para el proyecto y el directorio donde se va a crear.
Una vez creado, os aparecerá la ventana del mismo, similar a la que hemos visto antes, pero esta vez con un programa en C.
Para compilar el programa y probarlo, basta con pulsar en el icono "Build"
De aquí los ficheros que se deben ajustar a vuestro gusto (antes de cada compilación, claro) son los siguientes:
<<nombre del projecto>>.c Código fuente en C.
Makefile Archivo con las reglas para compilar el proyecto poner nombre, etc. Interesante para usuarios avanzados que quieran personalizar más su programa.
<<nombre del projecto>>.sh Script utilizado por Makefile para preparar el entorno de Mac OS X de prueba
En el caso de SDL, existen dos objetivos (Target) de compilación, uno para GP2X y otro para Mac OS X. Según el objetivo que se elija, se compilará el programa para una u otra plataforma. Es muy importante limpiar (Clean All) el proyecto compilado cada vez que se decida cambiar entre una y otra plataforma, o si no la compilación producirá errores.
Después de haber compilado, se creará todo lo necesario en el directorio build de la carpeta del proyecto:
Para probarlo en la GP2X (tras compilar para GP2X) , basta con copiar el contenido de GP2X a un directorio de una tarjeta SD.
Observar también que, cuando se compila para Mac OS X, se crea un directorio "Mac", con un archivo <<nombre del projecto>> . Este sirve para probar (parcialmente) nuestro programa en el Mac sin necesidad de copiarlo a la GP2X, hacer doble clic sobre dicho archivo para verlo.
Notas:
El entorno sólo se ha probado en un equipo Mac con procesador Intel. No hay ninguna garantía de que funcione en PowerPC.
El archivo Leeme.rtfd adjunto a las plantillas tiene más información sobre la asignación de teclas en Fenix, la distribución exacta y significado de todos los archivos de cada plantilla, copyrights, etc.
En el directorio /bin de los proyectos de Fenix también tenéis disponibles las utilidades fpg y map para crear paquetes de archivos de Fenix y mapas. Los archivos que así se hayan creado, tendréis que copiarlos en build/GP2X/ tanto para poder probarlos en el Mac, como para usarlos luego en la GP2X.
La detección de sintaxis de Fenix es aún muy básica (palabras clave, paréntesis y poco más), pero estoy trabajando a ver si consigo más cosas (detección de "funciones", plegado -folding- de código, etc)
Si, al descomprimir el archivo .7z, apareciera una carpeta en vez de una imagen de disco, localizar la carpeta que que contiene el directorio bands, y seguir los siguientes pasos
Abrir Terminal
Escribir setFile -a B y pulsar espacio
Arrastrar la carpeta a la ventana de Terminal (quedará algo parecido a setFile -a B /ruta/al/directorio/carpeta.sparsebundle)
Pulsar Enter
Si el icono de la carpeta no cambia al de una imagen de disco, cerrar la sesión y volverla a abrir
Un saludo
kounch
P.D. Creo que las dos clases de plantillas (GP32 (http://homepage.mac.com/kounch/.Public/GP32%20XCode%20templates.zip) y GP2X (http://homepage.mac.com/kounch/.Public/GP2X%20XCode%20templates.zip)) son ya bastante completas como para que pueda interesar subirlas a las descargas de gp32spain. Si alguien con privilegios suficientes quisiera hacerlo, se lo agradecería
Nota: Como se habla más adelante en el hilo, para poder usar las plantillas de SDL en Mac OS X 10.6, hay que añadir en el archivo Makefile de la plantilla (o de los proyectos que ya se hayan creado), lo siguente (marcado en negrita)
ifeq ($(target), MacOSX)
# Mac OS X extra (SDL) developer kit paths and prefix
DEVKIT = MacRunTime
CROSS_COMPILE =
INC_BASE = $(DEVKIT)/include
INC_SDL = $(INC_BASE)/SDL
LIB_BASE = $(DEVKIT)/lib
CFLAGS += -arch i386
CXXFLAGS+= -arch i386
LDFLAGS += -arch i386
# Other libs (SDL for Mac OS X)Esto es necesario para "forzar" la compilación para i386(32-bit), ya que las librerías incluidas en la plantilla son así, pero XCode y gcc ahora compilan por defecto para 64-bit
DMusta1ne
12/01/2008, 12:08
Felicidades tio. Muy buen curro :brindis:
La verdad es que no se si había algún ide o algo para Mac xa desarrollar en fenix
A ver si alguien se anima y hace algo parecido con el KDevelop o el Gambas para hacer un IDE para Fenix el Linux
Un saludo
^MiSaTo^
12/01/2008, 13:41
Kounch hijo mio, yo ya no se si banearte para que pares de currar o ponerte un monumento xDDD
Fuera de broma muchísimas gracias. A ver si después de exámenes puedo ponerme con algo y pruebo todo.
< - >
Ahora que me doy cuenta, una dudilla, con tu entorno se puede hacer compilado para GP2X y para el Mac en el caso de SDL?
Ahora que me doy cuenta, una dudilla, con tu entorno se puede hacer compilado para GP2X y para el Mac en el caso de SDL?Tal y como está ahora, de serie, el entorno y las plantillas, no, aunque instalando SDL en el Mac, y haciendo unos cuantos cambios en las plantillas, debería de valer (modificando el Makefile). Es algo que pienso ponerme a estudiar a partir de mañana, que puedas elegir como target del proyecto, bien GP2X, bien Mac.
Tal y como está ahora, de serie, el entorno y las plantillas, no, aunque instalando SDL en el Mac, y haciendo unos cuantos cambios en las plantillas, debería de valer (modificando el Makefile). Es algo que pienso ponerme a estudiar a partir de mañana, que puedas elegir como target del proyecto, bien GP2X, bien Mac.Hola de nuevo
Ya está lista una primera versión. He modificado el Leeme incluido y el primer post de este hilo para explicar los cambios, que se resumen en que, ahora, en el caso de SDL, tenéis dos objetivos (target) de compilación distintos, según el que se elija, se compilará un ejecutable de GP2X o uno de Mac (por ahora de consola y mal; con tiempo y una caña lo ajustaré para que sea una aplicación decente, pero para probar sirve perfectamente).
Podéis bajar la nueva plantilla de nuevo del mismo sitio (http://homepage.mac.com/kounch/.Public/GP2X%20XCode%20templates.zip), ya que la he actualizado.
Un saludo
kounch
EDIT: He actualizado de nuevo la plantilla de SDL para poder compilar para Mac o para GP2X, incluyendo dentro de la misma las librerías estáticas, archivos de cabecera, etc. de SDL para Mac. Así, no hay que instalar a parte ninguna librería de SDL para Mac.
Neodreamer
28/01/2008, 01:57
Es necesario usar leopard o se puede usar xcode2 o tiger con xcode3?
Gracias
Es necesario usar leopard o se puede usar xcode2 o tiger con xcode3?
GraciasHola
el método en general lo utilicé en su día con XCode 2 y Tiger, pero lo he vuelto a revisar hace poco tras cambiarme a Leopard. Los archivos de lenguaje Fenix se que no funcionarán con, pero sí es posible que las plantillas funcionen con XCode 2 y Tiger. Puedes probarlo, pero ten en cuenta que las versiones de XCode anteriores a la 3 guardan las plantillas en un directorio distinto:
Library/Application Support/Apple/Developer Tools/Project Templates
Un saludo
Sergio R.
jean la montard
27/02/2008, 18:22
Buenas
Se que es un reflote importante , pero os pido un favor respecto a la utilizacion de fenix.
Para usarlo en mac hay que tirar de terminal y para los newbies switcher o como se nos llame a los que venimos de windows sin puñetera idea , nos resulta muy complejo trabajar con el terminal por desconocer la estructura y como hacer las cosas.
Esta pregunta la hice hace un tiempo (antes de los horribles examenes de febrero) y Kounch me dio un par de pistas de como se hacia y que por lo visto es posible hacerlo con el automator, como completo ignorante que soy fui incapaz de meter un archivo en un fpg , solo consiguiendo el procedimiento de pasarlo a map.
Por favor todo aquel que sepa como usar el fpg, map y el fxe en mac que de su manera de hacerlo o algo para que la guia sea totalmente completa y que gente como yo sepa usarlo
Gracias por leerme y perdonar el reflote
Buenas
Se que es un reflote importante , pero os pido un favor respecto a la utilizacion de fenix.
Para usarlo en mac hay que tirar de terminal y para los newbies switcher o como se nos llame a los que venimos de windows sin puñetera idea , nos resulta muy complejo trabajar con el terminal por desconocer la estructura y como hacer las cosas.
Esta pregunta la hice hace un tiempo (antes de los horribles examenes de febrero) y Kounch me dio un par de pistas de como se hacia y que por lo visto es posible hacerlo con el automator, como completo ignorante que soy fui incapaz de meter un archivo en un fpg , solo consiguiendo el procedimiento de pasarlo a map.
Por favor todo aquel que sepa como usar el fpg, map y el fxe en mac que de su manera de hacerlo o algo para que la guia sea totalmente completa y que gente como yo sepa usarlo
Gracias por leerme y perdonar el refloteHola
por desgracia estoy últimamente muy liado y no tengo tiempo de explicarlo en detalle, pero esto es lo básico.
Si has usado MS-DOS o la ventana de comandos de Windows, el programa Terminal de OS X es muy similar, sólo que cambian algunas cosas. Por ejemplo, en lugar de C: o D:, para indicar un disco tienes que poner /Volumes/nombredeldisco. En lugar de \ para indicar directorios (carpetas) tienes que usar /, etc.
Respecto a usar utilidades como fpg o map, (o cualquier otro programa de comandos parecido, sólo debes recordar un poco de su sintaxis. Lo habitual es escribir algo como
comando opcion1 opcion2 opcion3... archivo1 archivo2 archivo3... o una variacion sobre este tema.
Teniendo esto en cuenta, y que puedes arrastrar y soltar sin problemas sobre las ventanas de terminal archivos y directorios, un método rudimentario pero que no suele fallar sería similar a este ejemplo;
Quiero mezclar varios archivos ("sprite1.map", "sprite2.map" y "sprite3.map" en un fpg que llamare "graficos.fpg". Se que la utilidad para hacerlo es fpg, pero no se cómo hacerlo.
Arrastro el archivo de fpg a la ventana de terminal, pulso enter, y veo que pone esto (observa lo que pone en negrita)
PG Utility - Copyright (C) 1999 Jos? Luis Cebri?n Pag?e
This utility comes with ABSOLUTELY NO WARRANTY; fpg -h for details
Uso: fpg [opcion] fichero [gr?fico ...]
-l Describe el FPG (opci?n por defecto): -v m?s extenso
-n Crea un nuevo FPG, opcionalmente a?adiendo MAPs
-o Crea un nuevo FPG de 8 bits, opcionalmente a?adiendo MAPs
-d Elimina los gr?ficos indicados del FPG
-p Extrae la paleta (.PAL) del fichero
-e Extrae gr?ficos (.MAP) del FPG y los borra del mismo
-x Extrae gr?ficos (.MAP) del FPG
-a A?ade gr?ficos (.MAP) al FPG
-c Convierte el .FPG a 16 bits
-# Nivel de compresi?n (0 a 9)
Las opciones -x y -e admiten indicar los gr?ficos mediante su c?digo.
Se pueden utilizar rangos a-b y varios gr?ficos separados por comas.
Las opciones -p y -l admiten m?ltiples ficheros fpg
O sea, que tengo que poner algo como
fpg -n graficos.fpg sprite1.map sprite2.map sprite3.map
¿Qué pasa? que la utilidad fpg la tengo en una carpeta, los archivos map están en otra, y yo quiero el fpg en otra distinta. Si me pongo a enredar a mano escribiendo dónde está cada uno, es fácil que me equivoque, ponga mal una letra, y no funcione. ¿Solución? Usar arrastrar y soltar, de la siguiente manera;
Arrastro el archivo fpg a la ventana de Terminal, pulso espacio para separar, y escribo -n. Me queda algo así (en tu ordenador será distinto):
/Users/kounch/Desktop/Proyectillo/bin/fpg -n
Pulso de nuevo espacio, arrastro la carpeta donde quiero el fpg (FPGS), y tecleo a continuación el nombre que quiero "graficos.fpg", me queda algo así
/Users/kounch/Desktop/Proyectillo/bin/fpg -n /Users/kounch/Images/FPGS/graficos.fpg
Pulso espacio, arrastro el primer archivo, pulso espacio, arrastro el segundo archivo y pulso espacio y arrastro el tercer archivo. Me queda entonces este "tocho" de línea
/Users/kounch/Desktop/Proyectillo/bin/fpg -n /Users/kounch/Images/FPGS/graficos.fpg /Volumes/Desarrollo/Fenix/sprite1.map /Volumes/Desarrollo/Fenix/sprite2.map /Volumes/Desarrollo/Fenix/sprite3.map
Pulso Enter, y funciona, me ha creado el archivo.
Un sistema similar te puede valer para usar muchas otras utilidades de comandos. Siendo meticuloso y con calma, debería de funcionarte casi siempre.
Espero que te sirva de ayuda, y a ver si mi vida se ralentiza un poco, y puedo seguir con estos temas, y acabar preparando un flujo de Automator que simplifique todo esto.
Un saludo
kounch
NOTA final: Algunos programas son muy quisquillosos con los símbolos que se alejen del abecedario anglosajón y los números, así que evita usar acentos, eñes, símbolos extraños y espacios en los nombres de cualquier directorio o archivo que vayas a usar (incluyendo los que los contienen), Así si tu nombre se usuario es Raúl, por ejemplo, y tu directorio es /Users/Raúl/, créate otro nuevo en otro sitio donde no haya acentos, o es posible que todo lo que metas en tus carpetas personales no sea aceptado bien en la línea de comandos.
jean la montard
29/02/2008, 11:40
Eres grande Kounch , con estas cosas al menos a mi me animas a seguir peleandome con el fenix , a ver si me sale algo :P
jean la montard
02/03/2008, 00:48
macbook-de-*********:~ jeanmontarde$ /Users/jeanmontarde/Joust/bin/fpg -n /Users/jeanmontarde/Joust/bin/graficos.fpg /Users/jeanmontarde/Joust/bin/fondo.map
Error: opci?n -U no reconocida
Resubo esto Kounch, o yo estoy gafado o no me va por algo que no has explicado , siento la pesadez :S he probado con o sin espacios , cambiando las carpetas... no se ya que hacer... el map si va pero el fpg es imposible
macbook-de-*********:~ jeanmontarde$ /Users/jeanmontarde/Joust/bin/fpg -n /Users/jeanmontarde/Joust/bin/graficos.fpg /Users/jeanmontarde/Joust/bin/fondo.map
Error: opci?n -U no reconocida
Resubo esto Kounch, o yo estoy gafado o no me va por algo que no has explicado , siento la pesadez :S he probado con o sin espacios , cambiando las carpetas... no se ya que hacer... el map si va pero el fpg es imposiblePor si acaso es algo raro en las rutas de archivos, como tienes todo en el mismo directorio (/Users/jeanmontarde/Joust/bin), puedes probar con rutas relativas.
cd /Users/jeanmontarde/Joust/bin/
./fpg -n graficos.fpg fondo.map
Con la primera instrucción te pones en el directorio donde tienes todo.
Con la segunda le dices que use el fpg que hay en ese mismo directorio, y lo cree todo en el mismo. Yo he vuelto probar, y en el mío, con esas instrucciones, me lo crea sin problemas.
jean la montard
02/03/2008, 17:16
Con esta ultima version si me ha ido , gracias por contestar tan rapido un saludo
Neodreamer
21/08/2008, 01:08
Kounch o quien sea...al descomprimir el 7z de la imagen descargada, me crea una carpeta y no la imagen q deberia... xq?
Uso zipeg. Es algo raro no? no deberia ser la utilidad de discos la q montase el sparse...?
Please una ayudita, gracias
Kounch o quien sea...al descomprimir el 7z de la imagen descargada, me crea una carpeta y no la imagen q deberia... xq?
Uso zipeg. Es algo raro no? no deberia ser la utilidad de discos la q montase el sparse...?
Please una ayudita, graciasHola
La imagen está creada con OS X 10.5. Seguramente no funcione con versiones anteriores.
Un saludo
kounch
Neodreamer
21/08/2008, 10:59
No, si uso leopard 10.5.4, xq me piye un macbook pro q solo admite leopard y x eso me acorde de tu pack pero al descomprimir me sale la carpeta sparsebundle y dentro varios files(token y demas, una carpeta y dentro muchos archivos de numeros...), pero no la imagen en si.
Please, con q descomprimes tu el 7z?
Gracias
edit: Kounch,he bajado y descomprimod el 7z en otro mac(un mac mini con tiger) y al descomprimir me sale lo mismo, en lugar de la imagen dinamica, me sale como carpeta sparsebundle con varios archivos y una carpeta band con muchos archivos numericos...como extraigo la imagen? o como la monto?
Gracias
No, si uso leopard 10.5.4, xq me piye un macbook pro q solo admite leopard y x eso me acorde de tu pack pero al descomprimir me sale la carpeta sparsebundle y dentro varios files(token y demas, una carpeta y dentro muchos archivos de numeros...), pero no la imagen en si.
Please, con q descomprimes tu el 7z?
Gracias
edit: Kounch,he bajado y descomprimod el 7z en otro mac(un mac mini con tiger) y al descomprimir me sale lo mismo, en lugar de la imagen dinamica, me sale como carpeta sparsebundle con varios archivos y una carpeta band con muchos archivos numericos...como extraigo la imagen? o como la monto?
GraciasHola
cuando esté en casa probaré de nuevo a descomprimirla, a ver qué puede ser.
En su día creo que hice el archivo con 7zx (http://www.macupdate.com/info.php/id/20526/7zx). Puedes mirar a ver si al descomprimirlo con ese no te sucede. Otra opción es usar The Unarchiver (http://www.macupdate.com/info.php/id/22774/the-unarchiver).
Un saludo
kounch
Neodreamer
21/08/2008, 14:11
Miralo cuando puedas please, con el unarchived me pasa lo mismo y con el ez 7z q es para estos archivos tambien...me crea las carpetas esas, no la imagen dinamica...
Muchas gracias
Miralo cuando puedas please, con el unarchived me pasa lo mismo y con el ez 7z q es para estos archivos tambien...me crea las carpetas esas, no la imagen dinamica...
Muchas gracias
Hola
como lo mío puede ir para largo, se me ocurre una cosa que puedes probar. Igual lo único que ha pasado es que no se ha escrito el atributo de "bundle" a la carpeta. Intenta lo siguiente:
Abre Terminal
Escribe setFile -a B y pulsa espacio
Arrastra la carpeta a la ventana de Terminal (te quedará algo parecido a setFile -a B /ruta/al/directorio/carpeta.sparsebundle)
Pulsa Enter
Si el icono de la carpeta no cambia al de una imagen de disco, cierra la sesión y vuévela a abrirDe todas maneras, me envio un correo a casa, y en cuanto tenga un rato (espero que esta misma noche), lo reviso.
Un saludo
kounch
Nota: Me olvidaba, para poder usar setFile, es necesario que tengas instaladas las herramientas de desarrollo, pero imagino que las tendrás ya, porque si no, no tiene sentido usar las plantillas ;)
Hola, o se si esta en alguna descarga de las tuyas, pero tienes algun archivo de definiciones de Highlight (el coloreado, vamos) para fenix???
Me vendria de la leche en mi asusin...
Neodreamer
23/08/2008, 20:45
Nada, y ocn tanto lio del foro estos dias, no he podido decir nada hasta ahora.
Le pase al terminal lo q me dijiste y lo hizo, pero me dijo algo de invalid arguments o algo asi y al intentar montar la imagen me dio error...asiq ahora ni imagen ni carpetas....
Tu pudiste mirarlo? please, hechale un ojo a ver q pasa.
Muchas gracias
Hola, o se si esta en alguna descarga de las tuyas, pero tienes algun archivo de definiciones de Highlight (el coloreado, vamos) para fenix???
Me vendria de la leche en mi asusin...Hola
copio y pego el primer párrafo del primer mensaje de este hilo:
aprovechando que me he desvelado, y tomando como base lo hecho anterioremente para GP32, he preparado unas plantillas de XCode (el IDE de Apple para programar en Mac OS X) y una imagen de disco, que permiten comenzar un proyecto de programación en C (con SDL o Minimal Lib), en Fenix o en Ultimate Fenix para GP2X. Además, he preparado también una plantilla de lenguaje para que XCode reconozca la sintaxis del código de Fenix y lo coloree adecuadamente
Un saludo
kounch
Nada, y ocn tanto lio del foro estos dias, no he podido decir nada hasta ahora.
Le pase al terminal lo q me dijiste y lo hizo, pero me dijo algo de invalid arguments o algo asi y al intentar montar la imagen me dio error...asiq ahora ni imagen ni carpetas....
Tu pudiste mirarlo? please, hechale un ojo a ver q pasa.
Muchas graciasHola
acabo de probarlo, bajando el archivo de mi enlace, y descomprimiéndolo. Efectivamente, el problema es el que te decía en el mensaje anterior, pero te puse mal la sintaxis de setFile (en lugar de -B, hay que poner sólo B, sin el guión). Los pasos son los que indicaba, pero teniendo cuidado de aplicarlos a la carpeta que contiene el directorio bands
Creo que en la captura de pantalla adjunta lo verás claro.
Al descomprimirlo, me ha creado una estructura de directorios así:
.../Downloads/gp2xSDKbuild_Leopard.sparsebundle/gp2xSDKbuild_Leopard.sparsebundle/bands/....
Así que el comando a utilizar, tras haber descomprimido el .7z, en mi caso, es
setFile -a B /Users/kounch/Downloads/gp2xSDKbuild_Leopard.sparsebundle/gp2xSDKbuild_Leopard.sparsebundle
Tras hacerlo, el icono ha cambiado al de una imagen de disco, y he podido montarla sin problemas haciendo doble clic en ella.
Voy a modificar el primer mensaje del hilo para explicar esta solución.
Gracias y un saludo
kounch
Neodreamer
24/08/2008, 02:01
Muchas gracias, lo probare mañana q ahora estoy en casa de un colega.
A ver a ver... si funciona.
Lo dicho muchas gracias y un saludo
edit: Arreglado, muchas gracias... a ver si consigo hacer alguna cosita y veo posibilidad de portarlo a psp con sdl tambien...
1saludo
Voy a hacer un reflote de casi 2 años, espero que no me mateis xD. ¿Hay alguna manera de que, modificando algo pequeñito, pueda servir para la Wiz? Algo así como lo del DevKitPro de Windows...:brindis:
Voy a hacer un reflote de casi 2 años, espero que no me mateis xD. ¿Hay alguna manera de que, modificando algo pequeñito, pueda servir para la Wiz? Algo así como lo del DevKitPro de Windows...:brindis:Hola
La parte de Fenix es posible que se pueda adaptar con relativa facilidad, renombrando algunas cosas y cambiando el runtime de GP2X y los scripts para lo que necesite la Wiz.
La parte de SDL no la tengo tan clara porque desconozco las diferencias entre el SDK de Wiz y el de GP2X, así como el entorno de compilación cruzada. Si el entorno de compilación de GP2X (hablo de gcc-arm, etc.) sirviera también para compilar para Wiz, podría bastar con cambiar las librerias de GP2X por las de Wiz. Si no... alguien tendría que ver lo que hay que hacer para adptar y preparar el entorno completo (compilación + SDK) para Wiz desde cero, como se hizo en su día para GP32 (http://wiki.gp32spain.com/index.php/Instalación_de_DevkitARM_nativo_para_Mac_OS_X_junt o_con_SDL_de_GP32) o GP2X (http://wiki.gp32spain.com/index.php/Cómo_compilar_el_entorno_de_desarrollo_completo_pa ra_GP2X_en_Mac_OS_X).
Un saludo
kounch
Por desgracia, la única información que puedo aportar es esta (http://www.gp32spain.com/foros/showthread.php?t=61359&highlight=windows), y aunque mis conocimientos no dan para mucho, creo que si se puede hacer... lo que no tengo es la mas minima idea de como :(
Por desgracia, la única información que puedo aportar es esta (http://www.gp32spain.com/foros/showthread.php?t=61359&highlight=windows), y aunque mis conocimientos no dan para mucho, creo que si se puede hacer... lo que no tengo es la mas minima idea de como :(Hola otra vez
sin una Wiz para probar tampoco voy a ponerme a dar palos de ciego. Si alguien lo quiere intentar, me ofrezco para ayudarle si no entiende la estructura de los archivos de XCode.
Un saludo
kounch
Neodreamer
23/10/2010, 14:30
Reflote de hilo:
He vuelto a meter todo el tema en snow leopard con las ultimas xcode y me funciona fenix en mac y gp2x, SDL en gp2x, pero en mac me tira este error, a ver si podeis ayudarme por favor, quiero practicar un poquito de sdl y de paso q lo q haga funcione en mac, xq tengo muchas cosillas q requiere del mac en el curro y no quiero estar con maquinas virtuales ni cargando particiones...
Este es el error:
ExternalBuildToolExecution "Untitled (Mac OS X)"
cd /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled
setenv ACTION
setenv ALTERNATE_GROUP staff
setenv ALTERNATE_MODE u+w,go-w,a+rX
setenv ALTERNATE_OWNER neodreamer
setenv ALWAYS_SEARCH_USER_PATHS YES
setenv APPLE_INTERNAL_DEVELOPER_DIR /AppleInternal/Developer
setenv APPLE_INTERNAL_DIR /AppleInternal
setenv APPLE_INTERNAL_DOCUMENTATION_DIR /AppleInternal/Documentation
setenv APPLE_INTERNAL_LIBRARY_DIR /AppleInternal/Library
setenv APPLE_INTERNAL_TOOLS /AppleInternal/Developer/Tools
setenv APPLY_RULES_IN_COPY_FILES NO
setenv ARCHS "ppc i386"
setenv BUILD_COMPONENTS "headers build"
setenv BUILD_DIR /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build
setenv BUILD_ROOT /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build
setenv BUILD_STYLE Release
setenv BUILD_VARIANTS normal
setenv BUILT_PRODUCTS_DIR /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Release
setenv CACHE_ROOT /var/folders/0d/0dByNnSNFrC7r3QMA87R3E+++TI/-Caches-/com.apple.Xcode.501
setenv CLASS_FILE_DIR "/Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release/Untitled (Mac OS X).build/JavaClasses"
setenv CLONE_HEADERS NO
setenv CONFIGURATION Release
setenv CONFIGURATION_BUILD_DIR /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Release
setenv CONFIGURATION_TEMP_DIR /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release
setenv COPYING_PRESERVES_HFS_DATA NO
setenv COPY_PHASE_STRIP YES
setenv DEAD_CODE_STRIPPING NO
setenv DEBUGGING_SYMBOLS YES
setenv DEPLOYMENT_LOCATION NO
setenv DEPLOYMENT_POSTPROCESSING NO
setenv DERIVED_FILES_DIR
setenv DERIVED_FILE_DIR "/Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release/Untitled (Mac OS X).build/DerivedSources"
setenv DERIVED_SOURCES_DIR "/Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release/Untitled (Mac OS X).build/DerivedSources"
setenv DEVELOPER_APPLICATIONS_DIR /Developer/Applications
setenv DEVELOPER_BIN_DIR /Developer/usr/bin
setenv DEVELOPER_DIR /Developer
setenv DEVELOPER_FRAMEWORKS_DIR /Developer/Library/Frameworks
setenv DEVELOPER_FRAMEWORKS_DIR_QUOTED "\"/Developer/Library/Frameworks\""
setenv DEVELOPER_LIBRARY_DIR /Developer/Library
setenv DEVELOPER_SDK_DIR /Developer/SDKs
setenv DEVELOPER_TOOLS_DIR /Developer/Tools
setenv DEVELOPER_USR_DIR /Developer/usr
setenv DEVELOPMENT_LANGUAGE English
setenv DO_HEADER_SCANNING_IN_JAM NO
setenv DSTROOT /tmp/Untitled.dst
setenv DWARF_DSYM_FILE_NAME .dSYM
setenv DWARF_DSYM_FOLDER_PATH /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Release
setenv ENABLE_HEADER_DEPENDENCIES YES
setenv ENABLE_OPENMP_SUPPORT NO
setenv EXCLUDED_INSTALLSRC_SUBDIRECTORY_PATTERNS ".svn CVS"
setenv EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn"
setenv FILE_LIST "/Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release/Untitled (Mac OS X).build/Objects/LinkFileList"
setenv FRAMEWORK_VERSION A
setenv GCC3_VERSION 3.3
setenv GCC_ENABLE_FIX_AND_CONTINUE NO
setenv GCC_GENERATE_DEBUGGING_SYMBOLS NO
setenv GCC_WARN_ABOUT_RETURN_TYPE YES
setenv GCC_WARN_UNUSED_VARIABLE YES
setenv GENERATE_MASTER_OBJECT_FILE NO
setenv GENERATE_PKGINFO_FILE NO
setenv GID 20
setenv GROUP staff
setenv HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_B UILT YES
setenv HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODU CT_TYPES YES
setenv HEADERMAP_INCLUDES_NONPUBLIC_NONPRIVATE_HEADERS YES
setenv HEADERMAP_INCLUDES_PROJECT_HEADERS YES
setenv INFOPLIST_EXPAND_BUILD_SETTINGS YES
setenv INFOPLIST_OUTPUT_FORMAT same-as-input
setenv INFOPLIST_PREPROCESS NO
setenv INSTALL_DIR /tmp/Untitled.dst
setenv INSTALL_GROUP staff
setenv INSTALL_MODE_FLAG u+w,go-w,a+rX
setenv INSTALL_OWNER neodreamer
setenv INSTALL_ROOT /tmp/Untitled.dst
setenv JAVA_APP_STUB /System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub
setenv JAVA_ARCHIVE_CLASSES YES
setenv JAVA_ARCHIVE_TYPE JAR
setenv JAVA_COMPILER /usr/bin/javac
setenv JAVA_FRAMEWORK_RESOURCES_DIRS Resources
setenv JAVA_JAR_FLAGS cv
setenv JAVA_SOURCE_SUBDIR .
setenv JAVA_USE_DEPENDENCIES YES
setenv JAVA_ZIP_FLAGS -urg
setenv KEEP_PRIVATE_EXTERNS NO
setenv LD_GENERATE_MAP_FILE NO
setenv LD_MAP_FILE_PATH "/Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release/Untitled (Mac OS X).build/Untitled-LinkMap--.txt"
setenv LD_OPENMP_FLAGS -fopenmp
setenv LINKER_DISPLAYS_MANGLED_NAMES NO
setenv LINK_WITH_STANDARD_LIBRARIES YES
setenv LOCAL_ADMIN_APPS_DIR /Applications/Utilities
setenv LOCAL_APPS_DIR /Applications
setenv LOCAL_DEVELOPER_DIR /Library/Developer
setenv LOCAL_LIBRARY_DIR /Library
setenv MACOSX_DEPLOYMENT_TARGET 10.5
setenv MAC_OS_X_VERSION_ACTUAL 1064
setenv MAC_OS_X_VERSION_MAJOR 1060
setenv MAC_OS_X_VERSION_MINOR 0604
setenv OBJECT_FILE_DIR "/Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release/Untitled (Mac OS X).build/Objects"
setenv OBJROOT /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build
setenv ONLY_ACTIVE_ARCH NO
setenv OPTIMIZATION_LEVEL 0
setenv OS MACOS
setenv PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES "/usr/include /usr/local/include /System/Library/Frameworks /System/Library/PrivateFrameworks /Developer/Headers /Developer/SDKs /Developer/Platforms"
setenv PLIST_FILE_OUTPUT_FORMAT same-as-input
setenv PREBINDING NO
setenv PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR YES
setenv PRECOMP_DESTINATION_DIR "/Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release/Untitled (Mac OS X).build/PrefixHeaders"
setenv PRESERVE_DEAD_CODE_INITS_AND_TERMS NO
setenv PRODUCT_NAME Untitled
setenv PROFILING_CODE NO
setenv PROJECT Untitled
setenv PROJECT_DERIVED_FILE_DIR /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/DerivedSources
setenv PROJECT_DIR /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled
setenv PROJECT_FILE_PATH /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/Untitled.xcodeproj
setenv PROJECT_NAME Untitled
setenv PROJECT_TEMP_DIR /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build
setenv REMOVE_CVS_FROM_RESOURCES YES
setenv REMOVE_SVN_FROM_RESOURCES YES
setenv RUN_CLANG_STATIC_ANALYZER NO
setenv SCAN_ALL_SOURCE_FILES_FOR_INCLUDES NO
setenv SDKROOT /Developer/SDKs/MacOSX10.5.sdk
setenv SEPARATE_STRIP NO
setenv SEPARATE_SYMBOL_EDIT NO
setenv SHARED_DERIVED_FILE_DIR /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Release/DerivedSources
setenv SHARED_PRECOMPS_DIR /var/folders/0d/0dByNnSNFrC7r3QMA87R3E+++TI/-Caches-/com.apple.Xcode.501/SharedPrecompiledHeaders
setenv SKIP_INSTALL NO
setenv SOURCE_ROOT /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled
setenv SRCROOT /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled
setenv STANDARD_C_PLUS_PLUS_LIBRARY_TYPE dynamic
setenv STRINGS_FILE_OUTPUT_ENCODING UTF-16
setenv STRIP_INSTALLED_PRODUCT YES
setenv STRIP_STYLE all
setenv SYMROOT /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build
setenv SYSTEM_ADMIN_APPS_DIR /Applications/Utilities
setenv SYSTEM_APPS_DIR /Applications
setenv SYSTEM_CORE_SERVICES_DIR /System/Library/CoreServices
setenv SYSTEM_DEMOS_DIR /Applications/Extras
setenv SYSTEM_DEVELOPER_APPS_DIR /Developer/Applications
setenv SYSTEM_DEVELOPER_BIN_DIR /Developer/usr/bin
setenv SYSTEM_DEVELOPER_DEMOS_DIR "/Developer/Applications/Utilities/Built Examples"
setenv SYSTEM_DEVELOPER_DIR /Developer
setenv SYSTEM_DEVELOPER_DOC_DIR "/Developer/ADC Reference Library"
setenv SYSTEM_DEVELOPER_GRAPHICS_TOOLS_DIR "/Developer/Applications/Graphics Tools"
setenv SYSTEM_DEVELOPER_JAVA_TOOLS_DIR "/Developer/Applications/Java Tools"
setenv SYSTEM_DEVELOPER_PERFORMANCE_TOOLS_DIR "/Developer/Applications/Performance Tools"
setenv SYSTEM_DEVELOPER_RELEASENOTES_DIR "/Developer/ADC Reference Library/releasenotes"
setenv SYSTEM_DEVELOPER_TOOLS /Developer/Tools
setenv SYSTEM_DEVELOPER_TOOLS_DOC_DIR "/Developer/ADC Reference Library/documentation/DeveloperTools"
setenv SYSTEM_DEVELOPER_TOOLS_RELEASENOTES_DIR "/Developer/ADC Reference Library/releasenotes/DeveloperTools"
setenv SYSTEM_DEVELOPER_USR_DIR /Developer/usr
setenv SYSTEM_DEVELOPER_UTILITIES_DIR /Developer/Applications/Utilities
setenv SYSTEM_DOCUMENTATION_DIR /Library/Documentation
setenv SYSTEM_LIBRARY_DIR /System/Library
setenv TARGETNAME "Untitled (Mac OS X)"
setenv TARGET_BUILD_DIR /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Release
setenv TARGET_NAME "Untitled (Mac OS X)"
setenv TARGET_TEMP_DIR "/Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release/Untitled (Mac OS X).build"
setenv TEMP_DIR "/Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release/Untitled (Mac OS X).build"
setenv TEMP_FILES_DIR
setenv TEMP_FILE_DIR "/Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build/Untitled.build/Release/Untitled (Mac OS X).build"
setenv TEMP_ROOT /Users/neodreamer/Desktop/sdlgp2x-mac/Untitled/build
setenv UID 501
setenv USER neodreamer
setenv USER_APPS_DIR /Users/neodreamer/Applications
setenv USER_LIBRARY_DIR /Users/neodreamer/Library
setenv XCODE_APP_SUPPORT_DIR /Developer/Library/Xcode
setenv XCODE_VERSION_ACTUAL 0324
setenv XCODE_VERSION_MAJOR 0300
setenv XCODE_VERSION_MINOR 0320
setenv ZERO_LINK NO
/usr/bin/make target=MacOSX
gcc -Wall -IMacRunTime/include -IMacRunTime/include/SDL -O2 -c -o Untitled.o Untitled.c
mkdir -p build/Mac
gcc -LMacRunTime/lib -o build/Mac/Untitled Untitled.o MacRunTime/lib/libSDL_mixer.a MacRunTime/lib/libogg.a MacRunTime/lib/libvorbisfile.a MacRunTime/lib/libvorbis.a MacRunTime/lib/libmikmod.a MacRunTime/lib/libsmpeg.a MacRunTime/lib/libSDL_image.a MacRunTime/lib/libSDL_gfx.a MacRunTime/lib/libSDL_ttf.a MacRunTime/lib/libfreetype.a MacRunTime/lib/libSDLmain.a MacRunTime/lib/libSDL.a MacRunTime/lib/libpng.a MacRunTime/lib/libjpeg.a MacRunTime/lib/libz.a -lpthread -lgcc -lc -lm MacRunTime/lib/libexpat.a -ldl -Wl,-framework,OpenGL -Wl,-framework,Cocoa -Wl,-framework,QuickTime -Wl,-framework,ApplicationServices -Wl,-framework,Carbon -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit -Wl,-framework,IOKit
ld: warning: in MacRunTime/lib/libSDL_mixer.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libogg.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libvorbisfile.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libvorbis.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libmikmod.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libsmpeg.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libSDL_image.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libSDL_gfx.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libSDL_ttf.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libfreetype.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libSDLmain.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libSDL.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libpng.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libjpeg.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libz.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in MacRunTime/lib/libexpat.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
Undefined symbols:
"_SDL_SetVideoMode", referenced from:
_SDL_main in Untitled.o
"_main", referenced from:
start in crt1.10.5.o
(maybe you meant: _SDL_main)
"_SDL_ShowCursor", referenced from:
_SDL_main in Untitled.o
"_SDL_FillRect", referenced from:
_Draw in Untitled.o
"_SDL_PollEvent", referenced from:
_HandleEvents in Untitled.o
"_SDL_Flip", referenced from:
_Draw in Untitled.o
"_gfxPrimitivesSetFont", referenced from:
_Draw in Untitled.o
"_SDL_JoystickOpen", referenced from:
_SDL_main in Untitled.o
"_SDL_Init", referenced from:
_SDL_main in Untitled.o
"_SDL_Quit", referenced from:
_SDL_main in Untitled.o
"_stringRGBA", referenced from:
_Draw in Untitled.o
_Draw in Untitled.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [build/Mac/Untitled] Error 1
Command /usr/bin/make failed with exit code 2
Es al compilar la plantilla, no he añadido ni quitado nada.
Y esta montada la imagen del primer post, de hecho para gp2x tira pero no para snow leopard(se q es para leopard, pero no pense q cambiaria tanto las sdl)
Espero vuestra ayuda, gracias
^MiSaTo^
23/10/2010, 15:01
Básicamente lo que te está diciendo es esto:
ld: warning: in MacRunTime/lib/libSDL_mixer.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
Osea, que la librería está compilada para x86 pero no para 64bits que es lo que usa Snow Leopard.
Se me ocurren 2 cosas:
1- Has hecho clean ANTES de compilar para Mac? (supongo que no es por esto pero por si acaso)
2- Las SDL de la toolchain no son de 64bits asíque no te funcionarán.
Creo que es la segunda opción porque juraría que probé la toolchain hace poco y para mac tampoco me iba.
Neodreamer
23/10/2010, 15:28
Gracias, x responder. Si hice clean all.
Seguramente sea lo segundo, aunq, no tiene q ver q arranque el sistema en modo 32 o 64? no deberia de tener ambas opciones de sdl siendo snow supuestamente compatible con ambas arquitecturas?
Es decir, mi macbook pro de 13, viene de serie con 32 bits, pero 64 activable desde el efi.
De todos modos probare en el hackintosh a ver si en el leopard ya me tira... y os comento.
Gracias
^MiSaTo^
23/10/2010, 16:58
El problema es que Snow Leopard es todo de 64bits (el SO). Se que tiene alguna compatibilidad con lo de 32, pero también es cierto que a mi ha habido programas que hasta que no se han actualizado no me han ido bien.
Es la historia de siempre con todos los SO de 64 xD Me ha pasado en Ubuntu 64bits, en XP 64 y en Mac Os (aunque en este es verdad que en menor medida).
Seguramente el problema venga por ahí. De todos modos, prueba a bajarte de nuevo las sdl de la web oficial, porque a mi esas sí me van bien. Lo que no se es cómo hacer para integrarlo en la toolchain de kounch.
Neodreamer
23/10/2010, 17:04
Ok,probare a ver. De todos modos si kounch leyera esto y nos hechara una mano para crear la imagen nueva,modificar la antigua o instalar fl entorno,estaría bien.
Gracias
Hola
tengo toda la toolchain desinstalada, pero viendo las plantillas y el error, todo apunta a lo que dice Misato. Cuando hide las plantillas, XCode y gcc compilaban por defecto para 32-bit, así que no había problema. Desde la 10.6, compilan por defecto para 64-bit, como los archivos de la plantilla son para 32-bit, no puede enlazar tu código compilado (64-bit) con lo que hay en la plantilla (32-bit).
Se me ocurren dos soluciones:
Compilar las librerías de la plantilla para 64-bit (todo lo que hay en el directorio /lib: libSDL.a, libexpat.a, etc.)
Modificar el Makefile para que compile en 32-bit
La primera opción sería la mejor pensando en el futuro, pero también la más compleja.
Para la segunda, edita el Makefile de tu proyecto, añadiendo los flags de compilar para 32-bit en las líneas siguientes (ojo, porque hay unas líneas muy parecidas que no debes tocar, ya que son para compilar para GP2X). Marco en negrita e itálica lo que hay nuevo:
ifeq ($(target), MacOSX)
# Mac OS X extra (SDL) developer kit paths and prefix
DEVKIT = MacRunTime
CROSS_COMPILE =
INC_BASE = $(DEVKIT)/include
INC_SDL = $(INC_BASE)/SDL
LIB_BASE = $(DEVKIT)/lib
CFLAGS += -arch i386
CXXFLAGS+= -arch i386
LDFLAGS += -arch i386
# Other libs (SDL for Mac OS X)
Haz "clean" (puedes hacerlo desde comandos, en el directorio con "make clean"), vuelve a compilar y mira si ya no te da ese error.
Si es así, puedes modificar la plantilla con estos cambios.
Un saludo
kounch
^MiSaTo^
23/10/2010, 17:19
kounch, y hablando desde el desconocimiento... Si yo tengo ya las libs compiladas (que me las bajé de libsdl.org) no las podríamos meter directamente en la toolchain?
Lo digo un poco como solución "intermedia" por no tener que compilar again las SDL.
kounch, y hablando desde el desconocimiento... Si yo tengo ya las libs compiladas (que me las bajé de libsdl.org) no las podríamos meter directamente en la toolchain?
Lo digo un poco como solución "intermedia" por no tener que compilar again las SDL.Hola
Es posible que funcionen, siempre y cuando sean versiones compatibles y pensadas para enlazar estáticamente.
Sin enrrollarme mucho, esto es lo que sucede cuando utilizas mis plantillas para SDL;
- Se copia el contenido del directorio de la plantilla a un nuevo proyecto;
|
+-GP2XRunTime
| |
| +-include
| |
| +-SDL
| | |
| | +-SDL_gfx_6x10_fnt.h
| | +-(…)
| +-SFont.h
|
+-MacRunTime
| |
| +-include
| | |
| | +-expat_external.h
| | +-(…)
| | +-SDL
| | | |
| | | +begin_code.h
| | | +-(…)
| | +-(…)
| |
| +-lib
| |
| +-libexpat.a
| +-(…)
| +-libSDL.a
| +-(…)
|
+-Makefile
+-SDL.c
+-SDL.xcodeproj
- Se modifica el .xcodeproj, el Makefile y el SDL.c para incluir los datos de tu proyecto y apuntar todo de forma relativa a esa estructura de fichero.
Al compilar para Mac, obtiene las cabeceras y las librerías para enlazar de la ruta local de tu proyecto. Al compilar para GP2X intenta obtenerlo de la imagen de disco montada con la toolchain completa para la consola.
Como puedes ver, en la parte de Mac, se incluyen las cabeceras (archivos .h) y librerías estáticas (archivos .a). Si lo que tú tienes se corresponde con los mismos, podría funcionar. Sin embargo, si tus ficheros no se corresponden (por ej. faltase el soporte para vorbis), o son para enlazar dinámicamente, seguramente aparezcan errores al enlazar, o el ejecutable que se genere se quede con dependencias de los ficheros que hay en tu disco y no podría funcionar en otro Mac distinto.
Si no me he explicado bien, por favor, comentadme lo que no ha quedado claro e intento aclararlo un poco más (no quería escribir un megapost sobre compilación y enlazado de librerías :D).
Un saludo
kounch
^MiSaTo^
23/10/2010, 17:40
Hola
Es posible que funcionen, siempre y cuando sean versiones compatibles y pensadas para enlazar estáticamente.
Sin enrrollarme mucho, esto es lo que sucede cuando utilizas mis plantillas para SDL;
- Se copia el contenido del directorio de la plantilla a un nuevo proyecto;
|
+-GP2XRunTime
| |
| +-include
| |
| +-SDL
| | |
| | +-SDL_gfx_6x10_fnt.h
| | +-(…)
| +-SFont.h
|
+-MacRunTime
| |
| +-include
| | |
| | +-expat_external.h
| | +-(…)
| | +-SDL
| | | |
| | | +begin_code.h
| | | +-(…)
| | +-(…)
| |
| +-lib
| |
| +-libexpat.a
| +-(…)
| +-libSDL.a
| +-(…)
|
+-Makefile
+-SDL.c
+-SDL.xcodeproj
- Se modifica el .xcodeproj, el Makefile y el SDL.c para incluir los datos de tu proyecto y apuntar todo de forma relativa a esa estructura de fichero.
Al compilar para Mac, obtiene las cabeceras y las librerías para enlazar de la ruta local de tu proyecto. Al compilar para GP2X intenta obtenerlo de la imagen de disco montada con la toolchain completa para la consola.
Como puedes ver, en la parte de Mac, se incluyen las cabeceras (archivos .h) y librerías estáticas (archivos .a). Si lo que tú tienes se corresponde con los mismos, podría funcionar. Sin embargo, si tus ficheros no se corresponden (por ej. faltase el soporte para vorbis), o son para enlazar dinámicamente, seguramente aparezcan errores al enlazar, o el ejecutable que se genere se quede con dependencias de los ficheros que hay en tu disco y no podría funcionar en otro Mac distinto.
Si no me he explicado bien, por favor, comentadme lo que no ha quedado claro e intento aclararlo un poco más (no quería escribir un megapost sobre compilación y enlazado de librerías :D).
Un saludo
kounch
Te has explicado a la perfección ;) Que yo sepa las SDL que tengo instaladas se pueden compilar estáticamente... (aunque si te soy sincera no estoy 100% segura).
Gracias por poner el funcionamiento de tu plantilla, tendré que echar un ojo a ver si podemos apañarlo sin que haya que recompilar.
También, ya sabiendo esto, puede ser interesante montar una para wiz dado que es prácticamente igual que lo de GP2X. (Bueno, las SDL habría que compilarlas para wiz).
Echaré un ojo a tus plantillas y demás, ahora que curro desarrollando en mac, entiendo mucho mejor como funciona el rollo del Xcode, las plantillas y su padre xD
Muchísimas gracias :brindis:
Te has explicado a la perfección ;) Que yo sepa las SDL que tengo instaladas se pueden compilar estáticamente... (aunque si te soy sincera no estoy 100% segura).
Gracias por poner el funcionamiento de tu plantilla, tendré que echar un ojo a ver si podemos apañarlo sin que haya que recompilar.
También, ya sabiendo esto, puede ser interesante montar una para wiz dado que es prácticamente igual que lo de GP2X. (Bueno, las SDL habría que compilarlas para wiz).
Echaré un ojo a tus plantillas y demás, ahora que curro desarrollando en mac, entiendo mucho mejor como funciona el rollo del Xcode, las plantillas y su padre xD
Muchísimas gracias :brindis:Hola
me alegro de que se haya entendido ;)
Otro detalle sobre las plantillas. Con la idea de aprovechar al máximo el código y hacerlo "multiplataforma", para poder adaptar desde/hacia Linux y/o Windows, toda la plantilla utiliza la opción de Xcode para usar algo externo. Por eso no verás nada en las fases de compilación salvo que utiliza make y el Makefile.
Actualización: Resulta que acabo de ver que sí tenía las plantillas instaladas, pero no la toolchain de GP2X, así que acabo de hacer una prueba rápida, añadiendo lo que he dicho al Makefile (+= -arch i386), y me ha compilado un proyecto de ejemplo sin ningún problema. Lo he probado y funciona (se queja en la consola de librerías que desaparecerán en el futuro, pero el programa va).
Actualización 2: Revisando las librerías enlazadas, el programa es estático (o al menos todo lo estático que puede ser un programa en OS X).
Definitivamente, creo que la solución más rápida, es modificar el Makefile de la plantilla añadiendo
CFLAGS += -arch i386
CXXFLAGS += -arch i386
LDFLAGS += -arch i386Para que así compile sólo en 32-bit.
Actualización 3: He modificado el final del primer post para incluir el "apaño".
Neodreamer
23/10/2010, 19:47
Muchas gracias, si finalmente alguno de los 2 mete la opcion de wiz seria la leche.
Muchisimas gracias x el curro.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.