2013-11-03 27 views
1

我得到gcc:error:libs1.a:當我試圖在make文件中創建一個庫時沒有這樣的文件或目錄錯誤。我不知道我哪裏錯了。庫命令是寫入,因爲我嘗試了故障排除並獨立運行該命令並創建了庫。下面的Makefile ....庫不是使用makefile創建的

COMPILER = gcc 
CCFLAGS = -Wall 
all:search 

debug: 
    make DEBUG=TRUE 

search.o: search.c tokenizer.h uthash.h 
    $(COMPILER) $(CCFLAGS) -c search.c 

tokenizer.o: tokenizer.c 
    $(COMPILER) $(CCFLAGS) -c tokenizer.c 

libs1.a: tokenizer.o search.o 
    ar -cvq libs1.a search.o tokenizer.o 

search: search.o tokenizer.o 
    $(COMPILER) $(CCFLAGS) -o search search.o libs1.a 

ifeq ($(DEBUG), TRUE) 
CCFLAGS += -g 

endif 

clean: 
    rm -f *.o 
    rm -f *.a libs1 

回答

3

改變這一行

search: search.o tokenizer.o 

search: search.o libs1.a 

這將使search依賴libs1.amake search會做鏈接之前做出libs1.a

請注意,您的lib和您的鏈接行中都有search.o。你可能想要或另一個,而不是兩個。

+0

非常感謝... – jrdnsingh89