你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

重复定义,怎么解决?

[复制链接]
ztyctao 提问时间:2015-11-30 17:02 /
我定义了一个头文件Var_Def.h
内容如下
#ifndef __VAR_DEF_H
#define __VAR_DEF_H

extern  uint16_t   SRC_Buffer[] = {0x8fff,0x8fff, 0x9fff, 0x9fff,0xbfff,0xbfff,
           0xbfff, 0xefff,0xbfff,0xbfff, 0x0000,0x0000};

#endif
我在两个.c文件中调用了这个头文件,总是提示Symbol SRC_Buffer multiply defined (by stm32f10x_it.o and main.o). 这个能怎么解决呀?
是不是我头文件中的定义格式不对?
收藏 1 评论18 发布时间:2015-11-30 17:02

举报

18个回答
wu1169668869 回答时间:2015-11-30 17:11:55
extern  uint16_t   SRC_Buffer[] ;
不用写后面的数据定义。
那就地方iv 回答时间:2015-11-30 17:12:22
extern  uint16_t   SRC_Buffer[] = {0x8fff,0x8fff, 0x9fff, 0x9fff,0xbfff,0xbfff,0xbfff, 0xefff,0xbfff,0xbfff, 0x0000,0x0000};这些写法是错的;

想调用就这样写:extern  uint16_t   SRC_Buffer[12] ;

想定义申明就这样写:uint16_t   SRC_Buffer[] = {0x8fff,0x8fff, 0x9fff, 0x9fff,0xbfff,0xbfff, 0xbfff, 0xefff,0xbfff,0xbfff, 0x0000,0x0000};
ztyctao 回答时间:2015-11-30 17:30:09
#ifndef __VAR_DEF_H
#define __VAR_DEF_H

extern  uint16_t   SRC_Buffer[12];



#endif
Undefined symbol SRC_Buffer (referred from stm32f10x_it.o).
改成上面的格式,编译提示上面的错误,没有定义,我在文件中怎么访问和设置这个变量?
creep 回答时间:2015-11-30 18:10:52
本帖最后由 creep 于 2015-11-30 18:12 编辑

Var_Def.c中定义变量:

  1. uint16_t   SRC_Buffer[] = {0x8fff,0x8fff, 0x9fff, 0x9fff,0xbfff,0xbfff,
  2.            0xbfff, 0xefff,0xbfff,0xbfff, 0x0000,0x0000};
复制代码


Var_Def.h中声明变量:
  1. extern  uint16_t   SRC_Buffer[12];
复制代码

头文件stm32f10x_it.h包含头文件Var_Def.h
ztyctao 回答时间:2015-11-30 18:24:39
#ifndef __VAR_DEF_H
#define __VAR_DEF_H

extern  uint16_t   SRC_Buffer[12];

#define  plas 99

#endif
我在别的文件中可以调用 plas, 可以编译通过,如果别的文件中访问SRC_Buffer这个变量,就提示
Undefined symbol SRC_Buffer (referred from stm32f10x_it.o). stm32f10x_it文件已经包含了这个头文件(ver_def.h)
全局变量要怎么定义呢?:'
yanhaijian 回答时间:2015-11-30 18:45:33
wu1169668869 发表于 2015-11-30 17:11
extern  uint16_t   SRC_Buffer[] ;
不用写后面的数据定义。

正解的。
dsjsjf 回答时间:2015-11-30 18:52:44
沙发正解
wu1169668869 回答时间:2015-11-30 18:54:21
感觉楼主没有把c文件添加到工程里面?
ztyctao 回答时间:2015-11-30 19:32:51
谢谢大家,我把c文件加进去就可以了。
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版