Compilation 制造过程中的错误

Compilation 制造过程中的错误,compilation,makefile,Compilation,Makefile,我试图使用make编译我的文件,但是,它显示了以下错误 /usr/bin/gcc -march=i586 -m32 -fno-builtin -fno-stack-protector -nostdlib -c -Wall -O0 -DBSDURG -DVERSION=\""`cat version`"\" -I../include -o binaries/farm.o ../system/farm.c Loading object files to produce GRUB boota

我试图使用make编译我的文件,但是,它显示了以下错误

/usr/bin/gcc -march=i586 -m32 -fno-builtin -fno-stack-protector -nostdlib -c -Wall     -O0 -DBSDURG -DVERSION=\""`cat version`"\" -I../include -o binaries/farm.o ../system/farm.c

Loading object files to produce GRUB bootable xinu
binaries/farm.o: In function `initialize':
farm.c:(.text+0x2c): undefined reference to `malloc'
经过一些搜索,人们提到不包括“stdlib.h”可能是原因,但是,我已经包括了它

/*  farm.c  - definition of farmer and vegetarian lab */

#include <xinu.h>
#include "farm.h"
#include <stdio.h>
#include <stdlib.h>
/*farm.c-农民和素食者实验室的定义*/
#包括
#包括“farm.h”
#包括
#包括
有人知道可能的原因吗?
非常感谢

-nostlib
标志表示“不链接标准C库”<代码>malloc是libc函数。您可以链接libc(通过删除
-nostlib
),或者,如果需要,可以实现另一个
malloc
(或者不使用此函数)。

包含文件用于函数的编译时间解析,而不是符号的链接时间解析

这是一个链接时间问题

您的问题很可能是由
-nostlib
引起的,因为您已告知
gcc
在链接过程中不要包含任何正常的标准库函数。(可能是
-fono-builtin
,但我不这么认为。)

您需要提供自己需要的任何标准函数的实现(在本例中为malloc),或者手动链接包含的任何库
malloc
-lgcc
),或者从编译和链接行中删除
-nostlib