使用makefile编译成功,但运行时报错
main.c
#include <stdio.h>
#include "sum.h"
int main()
{
printf("%d\n", sum(8,5));
return 0;
}
sum.c
#include "sum.h"
int sum(int a, int b)
{
return a+b;
}
sum.h
int sum(int a, int b);
makefile
.PHONY:sum
sum: main.o sum.o
gcc main.o sum.o -o sum
main.o: main.c sum.h
gcc -c main.c
sum.o: sum.c sum.h
gcc -c sum.c
命令行显示
PS E:\vscodefile\makefiletest\SUM> make
gcc main.o sum.o -o sum
PS E:\vscodefile\makefiletest\SUM> gcc main.c
C:\Users\DELL\AppData\Local\Temp\ccq6Zq8a.o:main.c:(.text+0x1e): undefined reference to `sum'
collect2.exe: error: ld returned 1 exit status
文件夹
makefiletest->SUM->main.c sum.c sum.h makefile