make multiple definition of `*` 问题解决办法

问题描述:

F:/zr/test/test1.o(.text+0×0): In function `main’:
test1.c:7: multiple definition of `main’
test1.o(.text+0×0):test1.c:7: first defined here
make.exe: *** [test1.elf] Error 1

问题为main重复定义了,问题出在链接时发现多个object里有main函数。
去掉重复的main函数即可解决问题。

验证方法:

在linux下用nm命令即可验证。

nm test.o

nm test1.o

在运行着两个命令的时候会出现两个main,并且他的地址是一样的,所以导致了问题。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>