我很难编写makefile。我有使用extern
变量的经验,当我在不使用 makefile 的情况下构建项目时,我绝对没有错误,我可以运行程序。但是从我编写生成文件来构建项目的那一刻起,我就遇到了undefined reference to
错误。
我有超过 3 个文件,但为简单起见,我将在此处使用 3 个文件来解释设置。
/************Project********/
/* main.c */
int x;
main()
{
...
}
/* File1.c*/
extern int x;
fn1()
{
...
}
/* File2.c*/
extern int x;
fn2()
{
...
}
/*******************************/
使用 makefile 时,我undefined reference to
在指向 File1.c 和 File2.c 的链接时间出现错误?
我是否犯了 Eclipse 自行修复的任何错误(当不使用 makefile 时)以及当我使用 makefile 时会出现哪些错误?
我的最终生成文件看起来像这样 -
OBJ1 = 算法/main.o 算法/File1.o 算法/File2.o
all: final
final: main.o algorithm/File1.o algorithm/File2.o
@echo "Linking - making Final"
$(CC) -o $@ $(OBJ1)