答案 0 :(得分:1)
您有源文件card.c
,deck.c
和main.c
。假设card.c
和deck.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
不同的名称。
答案 1 :(得分:0)
您应该将所有.c文件作为输入gcc
。您可以在Google上找到许多关于gcc的文档。例如:http://www.network-theory.co.uk/docs/gccintro/gccintro_11.html。