gpt4 book ai didi

c - 编译带有源文件和头文件的主文件

转载 作者:行者123 更新时间:2023-11-30 21:43:34 25 4
gpt4 key购买 nike

我正在尝试编译一个使用 header 的主文件。我的目录中有所有文件:card.c、deck.c header.h 和 main.c enter image description here

问题是,当我执行 gcc main.c 时,我得到: enter image description here

它似乎无法识别源文件和头文件,因此我的编译命令丢失了一些东西。谢谢

最佳答案

您有源文件card.cdeck.cmain.c。可以合理地假设 card.cdeck.c 各自定义函数,其中至少有一个由 main.c 中的某些内容调用>,否则就不需要 header.h。据推测,您的链接错误中指定的函数就在其中。

命令

gcc main.c

尝试编译main.c中的代码并将其链接起来形成一个完整的程序,但这对于一个完整的程序来说是不够的,因为一些需要的函数是在其他中定义(实现)的源文件。这就是链接器所提示的。

如果您想将 main.c 编译为目标文件但不链接它,那么您需要 -c 选项:

gcc -c main.c

如果您想通过运行一次 gcc 构建一个完整的程序,那么您必须指定所有需要的源:

gcc main.c deck.c card.c

在后一种情况下,您可能还需要使用 -o 选项为可执行文件指定与 a.out 不同的名称。

关于c - 编译带有源文件和头文件的主文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39905577/

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