User Tag List

Página 3 de 3 PrimerPrimer 123
Resultados 31 al 39 de 39

Tema: Tutorial de programación para GP2X (SDL, Minimal Lib, Fenix, etc.) en Mac con Xcode 3

  1. #31

    Fecha de ingreso
    Sep 2004
    Ubicación
    Santa Cruz de TENERIFE
    Mensajes
    1,845
    Mencionado
    9 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    91
    Agradecer Thanks Received 
    45
    Thanked in
    Agradecido 37 veces en [ARG:2 UNDEFINED] posts
    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

  2. #32

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    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.

  3. #33

    Fecha de ingreso
    Sep 2004
    Ubicación
    Santa Cruz de TENERIFE
    Mensajes
    1,845
    Mencionado
    9 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    91
    Agradecer Thanks Received 
    45
    Thanked in
    Agradecido 37 veces en [ARG:2 UNDEFINED] posts
    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

  4. #34

    Fecha de ingreso
    Jul 2004
    Ubicación
    Madrid
    Mensajes
    906
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    2
    Thanked in
    Agradecido 2 veces en [ARG:2 UNDEFINED] posts

    Lightbulb

    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:
    1. Compilar las librerías de la plantilla para 64-bit (todo lo que hay en el directorio /lib: libSDL.a, libexpat.a, etc.)
    2. 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:

    Código:
    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


  5. #35

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    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.

  6. #36

    Fecha de ingreso
    Jul 2004
    Ubicación
    Madrid
    Mensajes
    906
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    2
    Thanked in
    Agradecido 2 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por ^MiSaTo^ Ver mensaje
    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;
    Código:
    |
    +-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 ).

    Un saludo
    kounch


  7. #37

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por kounch Ver mensaje
    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;
    Código:
    |
    +-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 ).

    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

  8. #38

    Fecha de ingreso
    Jul 2004
    Ubicación
    Madrid
    Mensajes
    906
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    2
    Thanked in
    Agradecido 2 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por ^MiSaTo^ Ver mensaje
    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
    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
    Código:
    CFLAGS += -arch i386
    CXXFLAGS += -arch i386
    LDFLAGS += -arch i386
    Para que así compile sólo en 32-bit.

    Actualización 3: He modificado el final del primer post para incluir el "apaño".
    Última edición por kounch; 23/10/2010 a las 19:06 Razón: Matizando


  9. #39

    Fecha de ingreso
    Sep 2004
    Ubicación
    Santa Cruz de TENERIFE
    Mensajes
    1,845
    Mencionado
    9 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    91
    Agradecer Thanks Received 
    45
    Thanked in
    Agradecido 37 veces en [ARG:2 UNDEFINED] posts
    Muchas gracias, si finalmente alguno de los 2 mete la opcion de wiz seria la leche.
    Muchisimas gracias x el curro.

Página 3 de 3 PrimerPrimer 123

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •