Hé les gars, j'ai écrit un makefile qui fonctionne parfaitement sur mon iMac de 27 "à la maison avec Snow Leopard, mais quand je l'ai téléchargé sur mon ordinateur, un Snow Leopard de 24" les suivantes:ne fonctionne pas comme prévu
gcc -std=c99 -Wall -pedantic -Werror -c print.c
gcc -std=c99 -Wall -pedantic -Werror -c process.c
gcc -std=c99 -Wall -pedantic -Werror -c sync.c
gcc -std=c99 -Wall -pedantic -Werror -c option_a.c
gcc -std=c99 -Wall -pedantic -Werror -c option_m.c
gcc -std=c99 -Wall -pedantic -Werror -c option_n.c
gcc -std=c99 -Wall -pedantic -Werror -c option_p.c
gcc -std=c99 -Wall -pedantic -Werror -c option_r.c
gcc -std=c99 -Wall -pedantic -Werror -c option_u.c
gcc -std=c99 -Wall -pedantic -Werror -c option_v.c
ar -rc libopt.a option_a.o option_m.o option_n.o option_p.o option_r.o option_u.o option_v.o
gcc -std=c99 -Wall -pedantic -Werror -o mysync mysync.c print.o process.o sync.o libproj2.a libopt.a
libproj2.a: could not read symbols: Archive has no index; run ranlib to add one
collect2: ld returned 1 exit status
make: *** [mysync] Error 1
Voici mon makefile:
PROJECT = mysync
COMPILE = gcc -std=c99 -Wall -pedantic -Werror
OPT_OBJ = option_a.o option_m.o option_n.o option_p.o option_r.o option_u.o option_v.o
MAIN = print.o process.o sync.o
$(PROJECT): $(PROJECT).c $(MAIN) libproj2.a libopt.a
$(COMPILE) -o mysync $(PROJECT).c $(MAIN) libproj2.a libopt.a
libopt.a: $(OPT_OBJ)
ar -rc libopt.a $(OPT_OBJ)
%.o: %.c $(PROJECT).h
$(COMPILE) -c $<
clean:
rm -f *.o libopt.a
Vous devez probablement faire un 'make clean' d'abord, pour se débarrasser du fichier .a. –
Nah l'a essayé, ne fonctionne pas. – jon2512chua