Entrar
¿Usuario nuevo? Regístrate
allegro-espanol · Una lista en español sobre la librería Allegro.
? ¿Ya estás suscrito? Entrar en Yahoo!

Consejos de Yahoo! Grupos

¿Sabías que...?
Puedes determinar el orden de los mensajes. Pulsa el enlace en la columna correspondiente a la fecha. Tus preferencias serán guardadas y no tendrás que introducirlas de nuevo.

Mensajes

  Mensajes Ayuda
Avanzado
ESB (consultas sobre (makefile))   Lista de mensajes  
Responder | Reenviar Mensaje #768 de 9896 |
Re: [AL-ES] ESB (consultas sobre (makefile))

BUENOS DIAS!!!
Y entonces, va ESB y dice ¿[AL-ES] ESB (consultas sobre (makefile))?

> Hola (ESB)
>
> Tengo un mensaje de error en un archivo makefile, este es el escrito:
>
> CC = gcc.exe
> AR = ar.exe
>
> OPTIONS = -ffast-math \
> -fomit-frame-pointer\
>
> OBJ = NVLSector.o \
> NVLVisor.o \
> NVLNivel.o \
> NVLMain.o
>
> %.o : %.cpp \
> $(CC) -c $(OPTIONS) $< -o $@
>
> NVLVisor.exe : $(OBJ) \
> $(CC) -c $(OPTIONS) $(OBJ) -oNVLVisor.exe

Puede que el error este aqui, quita los dos ultimos \

> y no da error:
> ¿ Por qué de usar el, \, y los otros makefile con *.c archivos, no lo usan ?

el \ significa que la linea no acaba y que la siguiente se tome como parte de
esa, p.e. la linea de OBJ = ..... podrias haberla escrito asi:

OBJ = NVLSector.o NVLVisor.o NVLNivel.o NVLMain.o

y funcionaria exactamente igual, por otro lado en los makefiles suele haber
lineas del tipo:

objetivo a conseguir : objetivos previos necesarios
<tabulador> orden(es) para conseguir objetivo

donde objetivos son archivos (codigo fuente, codigo objeto), si falta el
objetivo a conseguir, o alguno de los objetivos anteriores a cambiado (p.e.
por que lo editaste) ejecuta la orden para compilarlo, y antes comprueba y
construye si es necesario cada uno de los objetivos previos.

Por ejemplo tu ultima linea que (deberian ser dos) dice que para conseguir
NVLVisor.exe necesita todos los archivos NVLSector.o, y debajo la orden que
hay que hacer para enlazar todos esos archivos .o y conseguir el exe.

por eso tienes que quitar el \ del final, por que deben ser dos, tambien es
importante lo de la tecla del tabulador, si no dejas esa tecla, o usas
espacios, o tu editor combierte el tabulador a espacios, puede (solo puede)
que tengas problemas.

la linea anterior (deberian ser dos) lo que indica es como conseguir cada uno
de esos .o a partir del archivo .cpp, es un poco expecial por que los % y la
@ son una especie de comodines, cuando makefile lo coge es como si hubieses
escrito:

NVLSector.o : NVLSector.cpp
$(CC) -c $(OPTIONS) NVLSector.cpp -o NVLSector.o

Con cada uno de los archivos .cpp que existan, y que significa que para
conseguir NVLSector.o necesita NVLSector.cpp y la orden que hay que dar es:
$(CC) -c $(OPTIONS) NVLSector.cpp -o NVLSector.o

Como repetir esas dos lineas para cada archivo .cpp es un coñazo, se utilizan
los comodines.

de todas maneras, quiza la linea no este bien escrita, si te sigue fallando
prueba a usar:

$(OBJ): %.o: %.c
$(CC) -c $(CFLAGS) $< -o $@

Total que tu makefile quedaria asi:

CC = gcc.exe
AR = ar.exe
OPTIONS = -ffast-math -fomit-frame-pointer
OBJ = NVLSector.o NVLVisor.o NVLNivel.o NVLMain.o
$(OBJ): %.o: %.cpp
$(CC) -c $(OPTIONS) $< -o $@
NVLVisor.exe : $(OBJ)
$(CC) -c $(OPTIONS) $(OBJ) -oNVLVisor.exe

gueno, espero que esto de sirva un poco de ayuda, un saludo.

--
Los usuarios de Spectrum cargan antes de disparar
_
Grettings of __ _| |___ __ _ Alvaro@... LiNUX USER #66734
Saludos / _` | / -_) _` | http://pagina.de/alea A_Alea@...
de \__,_|_\___\__,_| MS Messenger: alvaroalea@...
Para obtener Llave Publica GnuPGP un mail con subject: enviar clave pub



Jue, 3 de Oct, 2002 10:19 pm

aleasoft
Conectado Conectado
Enviar mensaje Enviar mensaje

Reenviar Mensaje #768 de 9896 |
Desplegar mensajes Autor Ordenar por fecha

Hola (ESB) Tengo un mensaje de error en un archivo makefile, este es el escrito: CC = gcc.exe AR = ar.exe OPTIONS = -ffast-math \ -fomit-frame-pointer\ OBJ =...
ESB
esbva2000
Sin conexión Enviar mensaje
2 de Oct, 2002
1:57 am

BUENOS DIAS!!! Y entonces, va ESB y dice ¿[AL-ES] ESB (consultas sobre (makefile))? ... Puede que el error este aqui, quita los dos ultimos \ ... el \...
Alvaro Alea
aleasoft
Conectado Enviar mensaje
2 de Oct, 2002
10:23 pm
Avanzado

Copyright © 2009 Yahoo! Todos los derechos reservados.
Política de Privacidad Actualizada - Condiciones del servicio - Directrices - Ayuda