Playboy_xixi 发表于 2012-8-26 20:39:38

编译连接问题*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS

今天晚上,修改了个比较大的模块化程序,编译时通过了,但连接时出现了错误,Target not created。具体情况如下:
Build target 'Target 1'
linking...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:***
    MODULE:***.obj
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:***
    MODULE:***.obj
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:***
    MODULE: ***.obj Program Size: data=110.3 xdata=15 code=10575
Target not created
无法连接,生不了hex文件。。。。。。。。。。。。。。
求指导啦{:handshake:}

Playboy_xixi 发表于 2012-8-26 20:40:41

自己先顶{:lol:}

Playboy_xixi 发表于 2012-8-26 23:37:06

悲剧啊,那么久还么人回复,,请大家帮忙啊

error_dan 发表于 2012-8-27 10:05:58

分文件的时候没注意吧。这是重复定义了,这问题google可以解决的。

linucos 发表于 2012-8-27 10:16:37

嗯,多个函数名字,或者全局变量重定义了,查查看!
贴上代码也成啊!

Playboy_xixi 发表于 2012-8-27 18:55:04

linucos 发表于 2012-8-27 10:16 static/image/common/back.gif
嗯,多个函数名字,或者全局变量重定义了,查查看!
贴上代码也成啊!

代码太大了,不过是我定义是用了同样的字符,只是大小写区分而已,所以才那样。该了就没事了

Playboy_xixi 发表于 2012-8-27 18:56:32

error_dan 发表于 2012-8-27 10:05 static/image/common/back.gif
分文件的时候没注意吧。这是重复定义了,这问题google可以解决的。

确实是,改了就没事了

xingjling 发表于 2014-9-4 14:43:05

这个故障提示,也有可能是在某头文件里面定义了变量,而该头文件又被多个C文件包含,编译的时候就会报重复定义故障的。

songshanxiaozi 发表于 2014-9-5 08:31:01

在中断程序和其它程序中调用了同一个函数,它可能会引起函数重入。比如说A(中断程序)调用了B,C(其它程序)也调用了B。在C调用B的过程中发生了中断,那么就会引起重入的问题。这种问题很隐蔽。不容易发现。
页: [1]
查看完整版本: 编译连接问题*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS