自己编写了一个Makefile 出现问题了

simple:isblank_1.oisalnum_1.ogetpagesize_1.ogcc-osimpleisblank_1.oisalnum_1.ogetpages... simple:isblank_1.o isalnum_1.o getpagesize_1.o
gcc -o simple isblank_1.o isalnum_1.o getpagesize_1.o
isblank_1.o:isblank_1.c
gcc -o isblank_1.o isblank_1.c
isalnum_1.o:isalnum_1.c
gcc -o isalnum_1.o isalnum_1.c
getpagesize_1.o:getpagesize_1.c
gcc -o getpagesize_1.o getpagesize_1.c

desktop:~/make_1$ make

make后出现下面这个问题 怎么解决啊???
gcc -o isblank_1.o isblank_1.c
gcc -o isalnum_1.o isalnum_1.c
gcc -o getpagesize_1.o getpagesize_1.c
gcc -o simple isblank_1.o isalnum_1.o getpagesize_1.o
isblank_1.o: In function `_start':
(.text+0x0): multiple definition of `_start'
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o:(.text+0x0): first defined here
isblank_1.o:(.rodata+0x0): multiple definition of `_fp_hw'
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o:(.rodata+0x0): first defined here
isblank_1.o: In function `_fini':
(.fini+0x0): multiple definition of `_fini'
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crti.o:(.fini+0x0): first defined here
isalnum_1.o: In function `main':make: *** [simple] Error 1
展开
 我来答
heptnaol
2015-02-09 · TA获得超过7261个赞
知道大有可为答主
回答量:7120
采纳率:78%
帮助的人:1812万
展开全部
我看错误是说
isblank_1.c,定义了一个_start函数,这个是elf可执行格式的入口

您不应该定义这样名字的函数。
另外_fp_hw,_fini都是如此。
更多追问追答
追问
这是 isblank.c的原型:
#include
main()
{
char str[]="123 abc";
int i;
int count=0;
for(i=0;str[i]!=0;i++)
{
if(isblank(str[i]))
{
count++;
printf("%d\n",i);
}
}
printf("the count is[%d]\n",count);
}
追答

我明白了,问题出现在gcc -o simple isblank_1.o的-o选项

你不应该用-o选项,这个是会生成可执行文件,而不是obj,应该用-c选项

你把三个文件都编译成可执行文件,再把他们链接到一起,当然出问题了。

另外再说一句,这三个文件里,只能一个文件有main函数。

simple:isblank_1.o isalnum_1.o getpagesize_1.o
    gcc -c simple isblank_1.o isalnum_1.o getpagesize_1.o -o myProgram
isblank_1.o:isblank_1.c
gcc -c isblank_1.c
isalnum_1.o:isalnum_1.c
gcc -c isalnum_1.c
getpagesize_1.o:getpagesize_1.c
gcc -c getpagesize_1.c
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式