Próbuję skompilować mały projekt, ale otrzymuję ten błąd, szukałem w pobliżu, a ludzie dostają ten błąd głównie z powodu nieprawidłowego rozszerzenia pliku, ale ja „t naprawdę myślę, że to przyczyna tutaj:gcc - plik nie został rozpoznany: nie rozpoznano formatu pliku
gcc -c -W -Wall -ggdb -I. router.c -o router.o
router.c:106: warning: unused parameter ‘hname’
router.c: In function ‘flood_neighbors’:
router.c:464: warning: unused variable ‘bytes_rcvd’
router.c: At top level:
router.c:536: warning: unused parameter ‘fd’
gcc -c -W -Wall -ggdb -I. link_info.h -o link_info.o
gcc -c -W -Wall -ggdb -I. route.h -o route.o
gcc -c -W -Wall -ggdb -I. sequence.h -o sequence.o
gcc -W -Wall -ggdb -I. router.o link_info.o route.o sequence.o -o router
link_info.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make: *** [router] Error 1
i mój plik make wygląda następująco:
CC = gcc
INC = -I.
FLAGS = -W -Wall -ggdb
router: router.o link_info.o route.o sequence.o
$(CC) $(FLAGS) $(INC) $^ -o [email protected]
router.o: router.c
$(CC) -c $(FLAGS) $(INC) $< -o [email protected]
sequence.o: sequence.h sequence.h
$(CC) -c $(FLAGS) $(INC) $< -o [email protected]
link_info.o: link_info.h link_info.c
$(CC) -c $(FLAGS) $(INC) $< -o [email protected]
route.o: route.h route.c
$(CC) -c $(FLAGS) $(INC) $< -o [email protected]
Co jestem zdezorientowany na to zasady trzech plików obiektowych są tego samego formatu, ale dlaczego tylko link krzyczy? Wielkie dzięki!
To działa, dziękuję! Szczerze mówiąc, nie znałem tutaj kwestii porządkowych. – lzt
Na temat kilku edycji plików Makefile - zapomniałem w ogóle zrobić jeden z moich celów w moim pliku Makefile, a mój stary .o był uszkodzony, stąd problem. Czasami rozwiązania tych rzeczy są mega proste! –