gpt4 book ai didi

c - 库不是使用 makefile 创建的

转载 作者:太空宇宙 更新时间:2023-11-04 02:06:51 25 4
gpt4 key购买 nike

当我尝试在 make 文件中创建库时,出现 gcc: error: libs1.a: No such file or directory 错误。我不知道我哪里错了。写库命令是因为我尝试了故障排除并独立运行了命令并创建了库。下面的 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

最佳答案

改变这一行

search: search.o tokenizer.o

search: search.o libs1.a

这将使 search 依赖于 libs1.a 并且 make search 将在执行之前生成 libs1.a链接。

请注意,您的库和链接行中都有 search.o。你可能想要或另一个,而不是两者。

关于c - 库不是使用 makefile 创建的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19755379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com