chernandezba escribió:Yo alguna vez he compilado programas de Linux en Windows usando las librerias cygwin; supongo que mingw es similar. El emulador tiene pocas dependencias, incluso podría llegar a compilar para entorno gráfico (xwindow simulado por cygwin) pero precisamente estamos hablando de salida a texto, por tanto, no hace falta ni driver gráfico. Yo creo que tiene que poder compilar sin problemas. Si hay algún fallo de compilación, me puedes pasar captura de pantalla del error, por ejemplo, y te lo reviso.
Me temo que ha sido más que "algún error". Probablemente me faltan librerías a mogollon (me temo que solo uso mingw para compilar aplicaciones de consola). En cualquier caso te dejo aqui el output, por si ves que alguno de los problemas se puede solucionar fácilmente.
Primero el del ./configure
Código: Seleccionar todo
$ ./configure
Initial CFLAGS=
Initial LDFLAGS=
Checking Operating system ... Msys
Checking for gcc compiler ... /c/MinGW/bin/gcc.exe
Checking size of char ... 1
Checking size of short ... 2
Checking Little Endian System ... ./configure: line 325: hexdump: command not f
und
WARNING! Big endian arquitecture. Not tested yet. Run at your own risk!
Checking for stdout functions ... not found
Checking for curses libraries ... found
Checking for aa libraries ... not found
Checking for caca libraries ... not found
Checking for SSL libraries ... not found
Checking for xwindows libraries ... not found
Checking for xwindows extensions ... disabled
Checking for xwindows vidmode extensions ... disabled
Checking for posix threads ... not found
Checking for realtime schedulling ... not found
Checking for audio dsp ... not found
Checking for audio alsa ... not found
Checking for audio pulse ... not found
Checking for coreaudio ... not found
Checking for libsndfile ... not found
Final CFLAGS= -Wall -Wextra
Final LDFLAGS= -lncurses
Creating Makefile
Creating compileoptions.h
Config files successfully generated by ./configure
Enabled Video output drivers: curses null
Disabled Video output drivers: stdout aa caca xwindows
Enabled Audio output drivers: null
Disabled Audio output drivers: dsp alsa pulse coreaudio
Enabled Audio File output drivers: raw
Disabled Audio File output drivers: wav
MEMPTR emulation: no
Visual memory option: no
CPU statistics option: no
Contended memory emulation: yes
Install prefix: /usr/local
Y ahora el del make, después de que el configure creara el makefile:
Código: Seleccionar todo
$ make
gcc -Wall -Wextra -c charset.c
gcc -Wall -Wextra -c scrcurses.c
gcc -Wall -Wextra -c scrnull.c
gcc -Wall -Wextra -c audionull.c
gcc -Wall -Wextra -c ay38912.c
gcc -Wall -Wextra -c cpu.c
cpu.c: In function 'main':
cpu.c:2489:3: warning: implicit declaration of function 'sleep' [-Wimplicit-func
tion-declaration]
sleep(1);
^
gcc -Wall -Wextra -c codsinpr.c
codsinpr.c: In function 'instruccion_39':
codsinpr.c:562:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_C.v==0 && (high_a>=0x0 && high_a<=0x9) && flag_H.v==0 && (low_a>=0x0
&& low_a<=0x9)) diff=0x00;
^
codsinpr.c:562:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
codsinpr.c:563:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_C.v==0 && (high_a>=0x0 && high_a<=0x9) && flag_H.v==1 && (low_a>=0x0
&& low_a<=0x9)) diff=0x06;
^
codsinpr.c:563:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
codsinpr.c:564:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_C.v==0 && (high_a>=0x0 && high_a<=0x8) && (low_a>=0xa
&& low_a<=0xf)) diff=0x06;
^
codsinpr.c:565:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_C.v==0 && (high_a>=0xa && high_a<=0xf) && flag_H.v==0 && (low_a>=0x0
&& low_a<=0x9)) diff=0x60;
^
codsinpr.c:566:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_C.v==1 && flag_H.v==0 && (low_a>=0x0
&& low_a<=0x9)) diff=0x60;
^
codsinpr.c:567:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_C.v==1 && flag_H.v==1 && (low_a>=0x0
&& low_a<=0x9)) diff=0x66;
^
codsinpr.c:570:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_C.v==0 && (high_a>=0xa && high_a<=0xf) && flag_H.v==1 && (low_a>=0x0
&& low_a<=0x9)) diff=0x66;
^
codsinpr.c:578:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_C.v==0 && (high_a>=0x0 && high_a<=0x9) && (low_a>=0x0 && low_a<=0x9))
flag_C_final.v=0;
^
codsinpr.c:578:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
codsinpr.c:579:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_C.v==0 && (high_a>=0x0 && high_a<=0x8) && (low_a>=0xa && low_a<=0xf))
flag_C_final.v=0;
^
codsinpr.c:581:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_C.v==0 && (high_a>=0xa && high_a<=0xf) && (low_a>=0x0 && low_a<=0x9))
flag_C_final.v=1;
^
codsinpr.c:587:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_N.v==0 && (low_a>=0x0 && low_a<=0x9)) flag_H_final.v=0
;
^
codsinpr.c:591:2: warning: comparison is always true due to limited range of dat
a type [-Wtype-limits]
if (flag_N.v==1 && flag_H.v==1 && (low_a>=0x0 && low_a<=0x5)) flag_H_final.v=1
;
^
gcc -Wall -Wextra -c codprddfd.c
gcc -Wall -Wextra -c codpred.c
gcc -Wall -Wextra -c operaciones.c
gcc -Wall -Wextra -c debug.c
gcc -Wall -Wextra -c tape.c
tape.c: In function 'set_tape_file_options':
tape.c:152:34: warning: unused parameter 'filename' [-Wunused-parameter]
void set_tape_file_options(char *filename)
^
gcc -Wall -Wextra -c tape_tap.c
gcc -Wall -Wextra -c tape_tzx.c
gcc -Wall -Wextra -c tape_smp.c
gcc -Wall -Wextra -c audio.c
gcc -Wall -Wextra -c screen.c
screen.c: In function 'compare_char_tabla_step':
screen.c:458:71: warning: comparison of promoted ~unsigned with unsigned [-Wsign
-compare]
for (numero_byte=0; (numero_byte<8) && (*copia_origen == (*tabl
a_comparar ^ 255 )) ;numero_byte++,copia_origen+=step,tabla_comparar++) {
^
screen.c: In function 'compare_char_tabla_rainbow':
screen.c:515:77: warning: comparison of promoted ~unsigned with unsigned [-Wsign
-compare]
for (numero_byte=0; (numero_byte<8) && (origen[numero_byte] ==
(*tabla_comparar ^ 255 )) ;numero_byte++,tabla_comparar++) {
^
gcc -Wall -Wextra -c mem128.c
gcc -Wall -Wextra -c zx8081.c
gcc -Wall -Wextra -c snap.c
snap.c: In function 'set_snap_file_options':
snap.c:56:34: warning: unused parameter 'filename' [-Wunused-parameter]
void set_snap_file_options(char *filename)
^
gcc -Wall -Wextra -c snap_z81.c
gcc -Wall -Wextra -c snap_zx8081.c
snap_zx8081.c:52:34: error: 'PATH_MAX' undeclared here (not in a function)
char nombre_cinta_load_nombre_81[PATH_MAX];
^
make: *** [snap_zx8081.o] Error 1