makefile成功运行时出错

使用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

sum.h、sum.c和main.c文件需要放在同一级目录下

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632