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报错解决办法补充版

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

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

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

多项目、依赖项目在Build APK时出现duplicate entry错误

把某个项目当作lib被另一个项目依赖,期间出现duplicate entry的错误,检查整个工程是否在不同的module都加载了同名的jar包。...

Android环境搭建——安装ADT时出现Duplicate Location错误

在搭建android环境中的一个步骤就是安装ADT,就安装ADT来说也由两种方法啦:一种是直接在线安装(help--->Install new software--->add然后输入网址即可安装),但...

MySql插入数据时错误Duplicate entry '131' for key 'PRIMARY'

今天在进行开发的过程中,遇到MySQL数据库插入数据时抛出异常: Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintVio...

javac 编译源文件出现"java:1: 需要为 class、interface 或 enum"、" [javac] 锘縫"错误

[javac] HelloWorld.java:1: 需要为 class、interface 或 enum     [javac] 锘縫ackage com.csdn.demo;     [javac...

LaTeX编译错误时,快速在源文件中定位

当LaTeX编译出错时,下面的方法可以帮助你快速在源文件中定位。前提是,你使用的是MiKTeX(其他的发行版不知道有没有类似功能)。在你装TeX的目录中找到miktex.ini文件。你可能会找到两个,...

iOS程序开发引用的第三方库之间出现duplicate symbol时的处理方法

from:http://blog.k-res.net/archives/1024.html iOS程序集成的第三方库过多时,很容易出现某几个库同时用到了一样的函数库,也就是在你的程序link时会提示...

Android Studio中怎么引用AAR包 以及 引用时出现的问题 (Error:duplicate files during packaging of APK.......)

在AS中引用aar包时出现 "Error:duplicate files during packaging of APK.......", 如何解决 ??...

iOS程序开发引用的第三方库之间出现duplicate symbol时的处理方法

转自: iOS程序集成的第三方库过多时,很容易出现某几个库同时用到了一样的函数库,也就是在你的程序link时会提示duplicate symbol,而重复的符号又不是由你自己程序的代码造成的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IAR 连接源文件时出现duplicate definitions错误
举报原因:
原因补充:

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