鍍金池/ 問答/C/ makefile錯誤

makefile錯誤

圖片描述

將目錄下所有.c文件編譯成.o文件.
執(zhí)行makefile提示錯誤: make: * 無目標(biāo)。 停止。

回答
編輯回答
尋仙

只是生成目標(biāo)文件的話,不需要-o

*.o: *.c
    gcc -c $^

上面代碼錯誤

src=$(wildcard *.c)
obj=$(patsubst %.c,%.o,$(src))
$obj: $(src)
    gcc -c $(src)

然后就make

2018年4月6日 22:50
編輯回答
神曲

把目錄下的c文件編譯成對應(yīng)的目標(biāo)文件

sources = $(wildcard *.c)
objects = $(patsubst %.c,%.o,$(sources))
$(objects) : %.o : %.c
    gcc -c $<
    
all: $(objects)

建議看下makefile的靜態(tài)模式規(guī)則。

2018年6月12日 10:07