IAR 连接源文件时出现duplicate definitions错误

原创 2015年11月18日 22:17:31

Duplicate definitions从字面上看就是重复定义的意思。

那么,为什么会出现这个问题呢?原因就是多个文件定义全局变量的时候一个变量的定义间接地出现在了多个地方。

下面详细说一下出现错误的原因吧!

我在下面的头文件中定义了一个全局变量flag.


然后我把它包含在主文件中:


这样,flag在文件stm32f4xx_it.h中定义了一次,然后被main.c包含进来,又被定义了一次,所以就出现错误。

下面说说怎么解决这个错误吧!

首先,要知道的是全局变量的定义要放在.c文件里而不是.h(头文件)中。同时删除头文件中变量的定义。


同时在.h(头文件)中说明变量一下为extern,不然编译的时候会出现未定义错误。(注意:这里说明变量的时候不能再给他赋值,会出错。)


这样,错误就化解了。希望能帮到大家。



IAR编译duplicate definitions for IAR报错解决办法

一般情况下,IAR编译ARM程序出现 “duplicate definitions for IAR” 这种错误一般情况下是,你需要将你的变量声明放在你的xx.c文件里面,不应该放在你的xx.h的...
  • gtkknd
  • gtkknd
  • 2016年10月19日 11:36
  • 632

多个.c .h文件时出现的重复定义错误问题

c/c++语言中有很多地方要用到extern,但是如果没有真正的了解它的意义,会给编程带来很大的麻烦,为了使大家少走弯路,特祥细的说明一下。       对于比较小的程序,一般只有一个c文件和一个头...
  • phenixyf
  • phenixyf
  • 2014年07月22日 16:56
  • 4516

IAR 连接源文件时出现duplicate definitions错误

Duplicate definitions从字面上看就是重复定义的意思。 那么,为什么会出现这个问题呢?原因就是多个文件定义全局变量的时候一个变量的定义间接地出现在了多个地方。 下面详细说一下出现...
  • Blank_CN
  • Blank_CN
  • 2015年11月18日 22:17
  • 1018

Duplicate interface definition for class 错误的原因

主要原因是因为在同一文件存在工程的不同的目录下,反复添加到工程里。造成重定义,解决办法是删除里重复的refrence就可以了。...
  • yuanya
  • yuanya
  • 2013年08月28日 14:25
  • 16039

IAR编译duplicate definitions for IAR报错解决办法补充版

在编译文件定义全局变量的时候,编译出现错误,经查是在另一个.c文件里面把我这个声明的变量又重新给赋值了一次,这个是不对的,如果你想定义全局变量的话,或者向调用其他.c文件里面的定义的全局变量的话,那么...
  • xmphoenix
  • xmphoenix
  • 2011年05月18日 08:45
  • 2146

IAR duplicate definitions 错误

IAR duplicate definitions 错误
  • dukeyiI
  • dukeyiI
  • 2017年05月23日 15:15
  • 108

“duplicate interface definition for class ‘xxxx’”

遇到这样的错,想必是每个人都很头疼的问题, “duplicate interface definition for class ‘xxxx’” 这到底是什么呢,网上百度一下,会出来好多的回答,最多...
  • xuxuezheng1991
  • xuxuezheng1991
  • 2017年06月23日 14:34
  • 183

Android混淆打包出错,出现类似 there were 133 duplicate class definitions.

Android混淆后打包时出现打包失败: [plain] view plain copy [2014-11-24 10:39:39 - Haiwan...
  • puhaibo_skynet
  • puhaibo_skynet
  • 2016年08月01日 14:29
  • 330

iar之类“向程序发送命令时出现问题”的解决办法

iar之类“向程序发送命令时出现问题”的解决办法,经常一打开IAR弹出个报错的对话框,虽然不影响使用,但是很烦。 我的猜测是由于几软件之间的冲突造成的,比如IAR在向系统注册快捷键的时候,别的应...
  • w634328658
  • w634328658
  • 2013年08月16日 08:29
  • 3822

Note: there were **** duplicate class definitions.

在.pro配置文件中增加如下内容: -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -verbose -lib...
  • itrider
  • itrider
  • 2015年11月22日 23:20
  • 884
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IAR 连接源文件时出现duplicate definitions错误
举报原因:
原因补充:

(最多只允许输入30个字)