FAQ de Allegro

Si la respuesta no esta aquí, pregunte y será añadida...


Contenido




Problemas triviales





Problemas con DJGPP


  • ¿Qué es este programa make que se supone debo ejecutar?

  • Make es parte de la distribución estándar de djgpp, en v2gnu/mak*b.zip (el numero de la ultima versión). Puede obtenerlo de http://www.delorie.com/djgpp/.


  • Make no funciona adecuadamente.

  • ¿Está seguro de que tiene djgpp instalado correctamente? Revise las instrucciones del fichero de djgpp readme.1st, y en particular cuide haber ajustado la variable de entorno de DJGPP y añada el directorio djgpp\bin a su path.


  • Mi instalación de djgpp está bien, pero make todavía trabaja mal.

  • ¿Está seguro de estar usando el programa make de GNU, en vez de algún otro como el de Borland? Si no lo sabe, ejecute "make -v" y compruebe que visualiza el mensaje de copyright de GNU.


  • Cuando ejecuto make, me pide unos parámetros. ¿Que debo teclear?

  • íNo debería ejecutar make desde el explorador de Win95! Abra una sesión de DOS, vaya al directorio de Allegro, y ejecute "make" desde la línea de comandos.


  • Cuando ejecuto make, dice "makefile has modification time in the future".

  • ¿Seguro que tiene la fecha del sistema ajustada correctamente?


  • Cuando ejecuto make, dice "virtual memory exhausted".

  • Tal y como el mensaje de error sugiere, necesita liberar más memoria para el compilador. El programa go32-v2 le dirá cuanta tiene disponible. Si está en DOS, intente liberar espacio de disco duro para los ficheros temporales. Bajo win95, incremente el límite de memoria DPMI en las propiedades de su sesión DOS a 65535 (tendrá que escribir esto a mano, ya que la lista desplegable sólo llega hasta 16384).


  • Cuando intento compilar un programa usando Allegro, recibo muchos
    errores como:
    C:\TEMP\ccdaaaaa(.text+0x9):x.c: undefined reference to `allegro_init'
    C:\TEMP\ccdaaaaa(.text+0xe):x.c: undefined reference to `install_keyboard'

  • No ha leído los manuales, ¿lo hizo? :-) Necesita enlazar su programa con la biblioteca de funciones, liballeg.a. Primero, asegúrese de que ha instalado todo correctamente (ejecutar make debería hacer esto por usted). Segundo, si esta compilando desde la línea de comandos o desde un makefile, añada -lalleg al final de su línea de comando de gcc, o si esta usando Rhide, vaya al menú Options/Libraries, entonces teclee 'alleg' en la primera línea vacía, y asegúrese de que la caja al lado esta marcada.


  • Me doy por vencido: íNo puedo compilar esto! Por favor, ¿podrías mandarme
    una versión precompilada?

  • No, lo siento. Para empezar, liballeg.a ocupa unos 450k, pero probablemente querrá varias utilidades como el grabber, la configuración de sonido, etc. ¿Y que hay de los programas de ejemplo? Si incluyese la versión compilada de todo, la distribución binaria sobrepasaría las 7 megas: ídemasiado grande para ser práctico! Pero seriamente, no hay ninguna razón por la que no pueda compilar la librería usted mismo. El compilado de un programa es un proceso determinista: dado un fichero de entrada particular y una línea de comando, siempre producirá la misma salida. Si esto no funciona, o tiene ficheros de entrada incorrectos (su copia de Allegro esta estropeada en algún sentido), o la línea de comandos es incorrecta (es difícil que eso suceda, ya que solo tiene que teclear "make"...) o su compilador está estropeado, por ejemplo, si no instala djgpp correctamente. Necesita solucionar el problema en vez de ocultarlo bajo la alfombra consiguiendo que otro compile Allegro por usted...


  • íLos errores de compilación aparecen demasiado rápido para que los
    pueda leer!

  • Las herramientas GNU escriben los mensajes de error a stderr. Desafortunadamente, command.com es demasiado estúpido para redirijir el flujo, pero afortunadamente DJ fue suficientemente listo para evitar esto, por lo que puede usar su programa redir para capturar los mensajes de salida, por ejemplo "redir -eo make > logfile.txt".




    Problemas en DOS





    Problemas en Windows





    Probelmas Unix





    Problemas generales