gpt4 book ai didi

c - 基本生成文件/链接/库问题 : No such file or directory

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

所以我的作业基本上要求制作一个 Makefile 来将 sorted-list.c 实现编译成一个名为 libsl.a 的库,以及一个名为 sl 的可执行文件,该文件运行 main.c 中的代码。

到目前为止我已经写了:

cc=gcc

sl : main.o sorted-list.o
cc -o -g sl main.o sorted-list.o

main.o : main.c sorted-list.h
sorted-list.o : sorted-list.c sorted-list.h

ar : rcs libsl.a sorted-list.o

clean :
rm sl main.o sorted-list.o

在包含我所有文件的目录中,以及一个文件makefile,我在终端中输入:

make

现在这是我第一次做这一切,所以我只能假设它已经按照我的预期执行了。如果没有,请告诉我。话虽如此,我收到以下错误:

-bash-4.1$ make
cc -c -o sorted-list.o sorted-list.c
cc -o -g sl main.o sorted-list.o
cc: sl: No such file or directory
make: *** [sl] Error 1

Stackoverflow 有以下问题:
Makefile is giving me an error - No such file or directory

这似乎是最接近的问题/解决方案,但我的可执行文件 sl 似乎放置正确(直接在标志之后),如答案所示。我不确定这是否重要,但我没有任何名为 sl 的文件/目录——据我所知,这将是尚未创建的可执行文件的名称。

最佳答案

您必须将可执行文件的名称紧跟在 -o 选项之后,因为它是此选项的参数。所以

cc -g -o sl main.o sorted-list.o

代替

cc -o -g sl main.o sorted-list.o

cc(1) 的联机帮助页应如下所示:

-o output    Name the output of the compilation output instead of a.out.

这表明您的可执行文件的名称是 -o 选项的参数,因此必须紧跟在 -o 选项之后。

请阅读联机帮助页 cc(1) 了解更多详细信息。

关于c - 基本生成文件/链接/库问题 : No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26306984/

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