linux下的makefile相关问题,出错,Fedora20的
[asd@localhost252]$makegcc-cmain.c-omain.ogccmain.oadd.odec.omul.odiv.o-oprogramadd.o...
[asd@localhost 252]$ make
gcc -c main.c -o main.o
gcc main.o add.o dec.o mul.o div.o -o program
add.o:在函数‘add’中:
add.c:(.text+0x0): multiple definition of `add'
main.o:main.c:(.text+0x0):第一次在此定义
dec.o:在函数‘dec’中:
dec.c:(.text+0x0): multiple definition of `dec'
main.o:main.c:(.text+0x29):第一次在此定义
mul.o:在函数‘mul’中:
mul.c:(.text+0x0): multiple definition of `mul'
main.o:main.c:(.text+0x8e):第一次在此定义
div.o:在函数‘div’中:
div.c:(.text+0x0): multiple definition of `div'
main.o:main.c:(.text+0x54):第一次在此定义
collect2: 错误:ld 返回 1
make: *** [program] 错误 1 展开
gcc -c main.c -o main.o
gcc main.o add.o dec.o mul.o div.o -o program
add.o:在函数‘add’中:
add.c:(.text+0x0): multiple definition of `add'
main.o:main.c:(.text+0x0):第一次在此定义
dec.o:在函数‘dec’中:
dec.c:(.text+0x0): multiple definition of `dec'
main.o:main.c:(.text+0x29):第一次在此定义
mul.o:在函数‘mul’中:
mul.c:(.text+0x0): multiple definition of `mul'
main.o:main.c:(.text+0x8e):第一次在此定义
div.o:在函数‘div’中:
div.c:(.text+0x0): multiple definition of `div'
main.o:main.c:(.text+0x54):第一次在此定义
collect2: 错误:ld 返回 1
make: *** [program] 错误 1 展开
4个回答
展开全部
好像不是makefile的问题,像是你程序编码有问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码错误, 函数重复定义
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
各种重复定义,makefile贴出来,写的太差了
追问
四个函数,每个定义一次,不应该么
追答
是的,把你的makefile贴出来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用GDB看看函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询