OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8757|回复: 13

编译出错了,怎么整?

[复制链接]

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2012-5-19
在线时间
0 小时
发表于 2012-6-4 12:25:18 | 显示全部楼层 |阅读模式
原文件单个编译都能通过,但整个工程的main()函数编译就处现这种错误,一共报了30处,吓死我了 
D:\Program Files\keil4\ARM\INC\ST\STM32F10x\stm32f10x_type.h(23): error:  #256: invalid redeclaration of type name "s32" (declared at line 487 of "..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h")
...
D:\Program Files\keil4\ARM\INC\ST\STM32F10x\stm32f10x_map.h(203): error:  #256: invalid redeclaration of type name "CAN_TypeDef" (declared at line 731 of "..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h")

..\User\main.c - 30 Error(s), 0 Warning(s).
出现这种大面积的报错,是什么原因?是因为我的定义跟里面的库函数重叠了嘛?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-6-4 12:27:26 | 显示全部楼层
回复【楼主位】lihaiping1603:
---------------------------------
头文件里面的定义重叠了...
应该是你引入了某些东西后导致的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2012-5-19
在线时间
0 小时
 楼主| 发表于 2012-6-4 14:44:17 | 显示全部楼层
谢了啊!找到那里重叠了!呵呵...
回复 支持 反对

使用道具 举报

13

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2012-4-19
在线时间
1 小时
发表于 2012-11-2 11:12:07 | 显示全部楼层
回复【3楼】lihaiping1603:
---------------------------------
我重装了KEIL之后再编译之前的工程也出现了这种错误,以前的工程是正确的 将type.h中的typedef enum {FALSE = 0, TRUE = !FALSE} bool; 这句注掉后就可以了! 
于己于家问心无愧,旁人后人无可挑剔。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2012-9-15
在线时间
1 小时
发表于 2012-11-5 17:31:55 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
哥们,你是怎么解决的,告诉小弟一下,谢谢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-5 20:36:47 | 显示全部楼层
回复【5楼】muzihui2006:
---------------------------------
去掉重复的定义
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2013-4-28
在线时间
0 小时
发表于 2013-4-28 23:42:17 | 显示全部楼层
回复【3楼】lihaiping1603:
---------------------------------
你在哪里找到的,能说说吗
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2013-10-22
在线时间
0 小时
发表于 2014-4-3 09:57:27 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
是哪里重复了啊?能说一下吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-4-3 16:38:38 | 显示全部楼层
回复【8楼】469219945:
---------------------------------
根据报错看问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2014-3-23
在线时间
11 小时
发表于 2014-8-8 13:03:52 | 显示全部楼层
这个是重复定义  
在stm32f10x_dbgmcu.h中调用stm32f10x_map.h这个头文件,而stm32f10x_map.h这头文件里调用啦"stm32f10x_type.h"这个头文件,这些数据类型已经在stm32f10x_type.h这头文件定义,但是在stm32f10x.h这个头文件里又再一次定义,所以出现重复。

正确的做法是把stm32f10x_dbgmcu.h里的这个头文件stm32f10x_map.h换为stm32f10x.h;(就是不调用stm32f10x_type.h这个头文件)
或者把                     STM32参考资料\STM32 固件库使用参考资料\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_dbgmcu.h头文件放到自己建立工程的STM32F10x_FWLib\inc文件中一起把这头文件加入我们新建立的工程中。(最好是把libV3.5.0里的stm32f10x_dbgmcu.h头文件添加到我们的工程中,别使用软件自带的stm32f10x_dbgmcu.h头文件)
回复 支持 反对

使用道具 举报

31

主题

161

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
328
金钱
328
注册时间
2013-4-22
在线时间
7 小时
发表于 2014-8-27 15:32:48 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
我也遇到了,刚开始建完工程还是好好的,加了个原子大哥的SYSTEM之后,就出现了大面积的报错,而且stm32f10x_type.h(23): error:  #256: invalid redeclaration of type name "s32" ,按照错误屏蔽掉后并没有减少,还是30个错误,不知道各位是怎么解决的
http://www.tudou.com/programs/view/h5G_H9Kpk04/?bid=03&pid=1&resourceId=375113802_03_05_01
回复 支持 反对

使用道具 举报

31

主题

161

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
328
金钱
328
注册时间
2013-4-22
在线时间
7 小时
发表于 2014-8-27 15:58:08 | 显示全部楼层
回复【11楼】华夏小川:
---------------------------------
刚刚意外的试了下,终于找到了问题了,原来我是直接把mini的SYSTEM复制过来的,
#include <stm32f10x_map.h>
#include <stm32f10x_nvic.h>
我把这两个换成#include "stm32f10x.h"了,就编译通过了,应该是这里面冲突了
http://www.tudou.com/programs/view/h5G_H9Kpk04/?bid=03&pid=1&resourceId=375113802_03_05_01
回复 支持 反对

使用道具 举报

4

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2015-3-16
在线时间
3 小时
发表于 2015-3-21 10:27:44 | 显示全部楼层
回复【3楼】lihaiping1603:
---------------------------------
怎么找哪里重叠了?
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2015-9-2
在线时间
0 小时
发表于 2015-9-2 09:11:41 | 显示全部楼层
我也遇到这个问题,但是将
[mw_shl_code=c,true]#include <stm32f10x_map.h> #include <stm32f10x_nvic.h>[/mw_shl_code]


改为:
[mw_shl_code=c,true]#include “stm32f10x.h”[/mw_shl_code]


好像还是有一堆错误,还有,这回帖的字体怎么是这样a,新手第一次回帖。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-15 22:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表