Regresar   Foro de marcianitos.org > Emuladores y programas de todo tipo > Emuladores > MAME

 
 
Old 13-ago-2008, 01:35   #1
Bubu
Editor Marciano
Compilando MAME 0.104

Hola, torpedos,

estoy intentando compilar el MAME 0.104 (de línea de comandos). Tengo el soruce, el mingw, y las librerías de allegro dispuestas para comenzar el tema. Pero al ejecutar el mingw32-make crea las carpetas obj, y entonces me aparece el error:

Code:
Compiling src/artwork.c...
cc1.exe: error: unrecognized command line option "-Wno-unused-functions"
mingw32-make: *** [obj/mame/artwork.o] Error 1
¿Qué puedo estar haciendo mal? ¿El mingw32-make se sa para compilar los MAMEs de líneas de comando, o sólo para los MAME32?
   
Old 14-ago-2008, 00:22   #2
Bubu
Editor Marciano
Ya va perfesto. Sólo he tenido que corregir un par de cosas en el fichero "makefile" ya que estaba usando el nuevo compilador mingw con un MAME que es ya algo antigüillo, como cuentan en este hilo.

En concreto era quitar del "makefile" las líneas "-Werror" y "-Wno-unused-functions".

Peeeero ahora, después de llevarse unos 5 minutos compilando, me aparece :

Code:
Assembling src/windows/asmblit.asm...
process_begin: CreateProcess(NULL, nasmw -o obj/mame/windows/asmblit.o -f coff src/windows/asmblit.asm, ...) failed.
make (e=2): El sistema no puede hallar el archivo especificado.
mingw32-make: *** [obj/mame/windows/asmblit.o] Error 2

Seguiremos informando.
   
Old 14-ago-2008, 00:23   #3
Fuents
Administrador
 
Avatar de Fuents
Mira que ponerte a compilar estando Peterpunk de vacas...
   
Old 14-ago-2008, 00:40   #4
Bubu
Editor Marciano
Ya, ya, jiji, me lo imaginaba, si no ya habría saltado por aquí... Naaah, creo que el poblema es que el mingw32 es paraa versiones de MAME muy modelnas. Lo estoy ahora intentando con una nueva herramienta llamada "MAME Compiler" que promete.
   
Old 14-ago-2008, 01:52   #5
Bubu
Editor Marciano
Ufff... parece que ya va corresto. He tenido que aplicar el parche u2, y ya va fino. Lleva media hora compilando y tié pinta de quearle la hueva. Mañana contaré resultados.
   
Old 14-ago-2008, 19:26   #6
PeterPunk
Editor Marciano
Pues es cierto que no he estado por Vigo durante esta semana ni me he acercado por marcianitos, pero Bubu parece que tiene razón: creo que no estaba usando la versión del mingw32 adecuada, o alguno de los plugins necesarios.

Antes yo iba coleccionando todos los MinGW32 que se utilizaban para compilar MAME, pero cuando me reventó el último disco duro los perdí todos. Además antes eran más fáciles de localizar, mientras existía la página mame.net en la que indicaban que versiones del Mingw y de los plugins eran necesarias en cada versión del Mame. Ahora, parece que indican que con esta versión: http://mamedev.org/tools/previous.html se pueden compilar todos los antiguos.

Suerte con la compilación Bubu.
   
Old 14-ago-2008, 19:55   #7
Bubu
Editor Marciano
Gracias, PeterPunk, pero no hubo suerte. Al final petó porque el fichero snes.c declara una serie de variables estáticas y luego el snes.h las trata como dinámicas... En fin, nu entiendo cómo el código fuente puede estar mal. Por cierto, esto lo conseguí porque apliqué el parche u2, que sino, al minuto peta.
   
Old 14-ago-2008, 20:26   #8
Macarro
Administrador
 
Avatar de Macarro
Quote:
Originalmente publicado por Bubu Ver post
En fin, nu entiendo cómo el código fuente puede estar mal.
Seguro que es porque mete mano todo dios , al ser tantos programadores y demás es imposible que haya uniformidad (para bien o para mal).
   
Old 14-ago-2008, 20:38   #9
Bubu
Editor Marciano
Pues... nu sé, raro sería que entonces nadie se haya quejado antes...
El error que me da es éste:

Code:
Compiling src/sndhrdw/snes.c...
src/sndhrdw/snes.c:130: error: static declaration of 'keyed_on' follows non-static declaration
src/includes/snes.h:488: error: previous declaration of 'keyed_on' was here
src/sndhrdw/snes.c:131: error: static declaration of 'keys' follows non-static declaration
src/includes/snes.h:489: error: previous declaration of 'keys' was here
src/sndhrdw/snes.c:132: error: static declaration of 'voice_state' follows non-static declaration
src/includes/snes.h:491: error: previous declaration of 'voice_state' was here
src/sndhrdw/snes.c:150: error: static declaration of 'TS_CYC' follows non-static declaration
Finished!
0 Hours 0 Minutes and 22 Seconds Elapsed.
src/includes/snes.h:484: error: previous declaration of 'TS_CYC' was here
mingw32-make: *** [obj/mame/sndhrdw/snes.o] Error 1
La p* variable keyed_on (y sucesivas). Además, cagonlaleshe, peta por querer compilar el emulador de SNES. Qué triste...
   
Old 16-ago-2008, 01:20   #10
Bubu
Editor Marciano
Jarl, no puidor, jarl.

Esto se ha convertido en mi paranoia particular. Resulta que no tengo c* de compilar MAME 0.104. Veamos, sin aplicar diffs ni leches, utilizando el Mame Compiler, me hace bien los mkdir (crea los directorios) y compilar bien los fuentes dentro de src. Pero los fuentes dentro de src/windows los empieza bien hasta que llega el pograma input.c :

Code:
Compiling src/windows/blit.c...
Compiling src/windows/config.c...
Compiling src/windows/fileio.c...
Compiling src/windows/fronthlp.c...
Compiling src/windows/input.c...
src/windows/input.c: In function 'win_init_input':
src/windows/input.c:1034: error: 'DIDEVTYPE_KEYBOARD' undeclared (first use in this function)
src/windows/input.c:1034: error: (Each undeclared identifier is reported only once
src/windows/input.c:1034: error: for each function it appears in.)
src/windows/input.c:1045: error: 'DIDEVTYPE_MOUSE' undeclared (first use in this function)
src/windows/input.c:1060: error: 'DIDEVTYPE_JOYSTICK' undeclared (first use in this function)
mingw32-make: *** [obj/mame/windows/input.o] Error 1
Finished!
0 Hours 1 Minutes and 54 Seconds Elapsed.
He leído por ahí que esto pasa porque Mame Compiler trae por defectos las librerías de DirectX 8, y MAME al parece debe compilarse con las de DirectX 7. ¿Sabéis si esto es realmente el poblema? ¿Cómo se puede cambiar de versión de DirectX en Mame Compiler?