語音之家asv-subtools 聲紋識別實戰(zhàn)
2023-08-20 23:22 作者:每天學習n個拼課技巧 | 我要投稿
包含頭文件的問題
main : a.o b.o c.o
? ?gcc -o main $^
%.o : %.c
? ?gcc -c -o $@ $<
問題的原因:
.o
文件的依賴只有.c
文件,若只修改頭文件而不修改.c
文件,則編譯時并不會準確修改編譯的結(jié)果,相當于修改的頭文件并沒有起到效果;比如:修改
c.h
,則添加規(guī)則c.o : c.c c.h
:表示c.o的依賴是c.c
和c.h
,命令為空;但Linux中頭文件過于龐大,手寫規(guī)則會過于復雜,所以用以下命令添加規(guī)則
gcc -MM c.c ? #打印出c.c的依賴文件
gcc -MM -MF c.d c.c ? #將c.c的依賴寫進c.d
gcc -c -o c.o c.c -MD -MF ? #把依賴寫進c.d,編譯生成c.o
標簽: