我正在嘗試編譯一個小項目,但得到這個錯誤,我一直在四處搜索,並且主要是因爲文件擴展名不正確而導致此錯誤,但我不知道「噸真的認爲這是這裏的原因:gcc - 無法識別的文件:文件格式不被識別
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
和我make文件看起來像:
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]
什麼我在困惑是三個目標文件的規則是相同的格式,但爲什麼只有鏈接的一個叫喊?非常感謝!
工作,謝謝!我真的不知道這裏的順序問題。 – lzt
關於makefile的一些編輯主題 - 我忘了在我的makefile中完成我的一個目標,而我的舊.o已經損壞,因此問題。有時候這些解決方案很簡單! –