使用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文件需要放在同一级目录下
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!