【发布时间】:2011-12-20 06:17:15
【问题描述】:
我目前有 2 个 C 程序和 1 个头文件,我必须将它们制作成 Makefile。我不熟悉将程序编译到 Makefile 中,但我知道基础知识。我输入:
cc -c file1.c
cc -c file2.c
cc file1.o file2.o
----- 我收到以下错误 -----
file2.o: In function 'method':
file2.c:(.text+0x0): multiple definition of 'method'
file1.o:file1.c:(.text+0x0): first defined here
collect2: ld returned 1 exit status
有什么问题?我听说过各种各样的事情,比如因为它们共享相同的头文件(头文件中定义了“方法”),编译器认为它们有两个。我不知道。大家觉得呢?
谢谢,
编辑: 感谢您的回复。如果“方法”是“结构”函数怎么办?将它移到其他地方仍然是一个好主意吗?我刚刚尝试过,现在我得到了一个“指向不完整类型的解引用指针”。
【问题讨论】:
-
我明白了。谢谢大家!