2013-11-03 2 views
1

gcc : error : libs1.a : make 파일에서 라이브러리를 만들려고 할 때 해당 파일이나 디렉토리 오류가 없습니다. 내가 어디로 잘못 가고 있는지 모르겠다. 라이브러리 명령은 문제 해결을 시도하고 독립적으로 명령을 실행하여 라이브러리를 작성하기 때문에 쓰기가됩니다. 아래 메이크 ....라이브러리가 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

변경 libs1.asearch 의존하게되고 make search 링크를하기 전에 libs1.a를 만들 것입니다

search: search.o libs1.a 

이 라인

search: search.o tokenizer.o 

.

lib와 링크 줄 모두에 search.o가 있습니다. 당신은 아마 다른 쪽을 원하거나 다른 쪽을 원할 것입니다.

+0

고맙습니다 ... – jrdnsingh89

관련 문제