打印

MDK编译时候总是出现重定义怎么处理?

[复制链接]
4747|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiepeilin|  楼主 | 2010-5-11 16:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最佳在编译的时候总是出现..\Libraries\inc\stm32f10x_type.h(33): error:  #256: invalid redeclaration of type name "vs32" (declared at line 320 of "C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x.h")怎么处理啊?stm32f10x_type.h是文件自动调用的,stm32_eth.c这个文件里只包含了include "stm32_eth.h"和#include "stm32f10x_rcc.h"没有包含stm32f10x_type.h和stm32f10x.h而stm32f10x_type.h和stm32f10x.h编译时候都说相互重复声明
望大家给个意见啊?非常感谢!

相关帖子

沙发
db10| | 2010-5-12 17:56 | 只看该作者
可能你调用include "stm32_eth.h"和#include "stm32f10x_rcc.h"时用到了stm32f10x_type.h和stm32f10x.h
1。你可以先将你函数部分或者stm32f10x_type.h和stm32f10x.h
用到"vs32"的用别的内似的定义代替试试。
或者2.看看include "stm32_eth.h"和#include "stm32f10x_rcc.h还有stm32f10x_type.h和stm32f10x.h 用的时候是否有多重错误包含调用。
3.你找不出来了,我再给你想

使用特权

评论回复
板凳
db10| | 2010-5-12 17:57 | 只看该作者
自己要勤快,多找啊

使用特权

评论回复
地板
hgjinwei| | 2010-5-13 12:38 | 只看该作者
应该是加载的库和MDK内部的库有冲突,要么放弃“Libraries”这个文件夹下的库,要么放弃"C:\Keil\ARM\INC\ST"下的库,自己看着办吧。

使用特权

评论回复
5
xiepeilin|  楼主 | 2010-9-12 16:21 | 只看该作者
大概就是按照楼上二位的方法解决的,非常感谢呵呵

使用特权

评论回复
6
linjing| | 2010-9-13 20:45 | 只看该作者
检查一下所有文件的版本是否一至,2.0的库与3.0的库混在一起用就容易出这样的问题

使用特权

评论回复
7
zhiyonghe| | 2011-11-9 16:37 | 只看该作者
这种问题肯定是出在加载的库和MDK内部的库有冲突

但上面的回答让新手们很难找到解决之道

其实新手们只要注意找到  stm32f10x_conf.h  这个文件 ,然后在option->c/c++下的路径注意包含就OK 咯

使用特权

评论回复
8
st316| | 2012-11-28 08:49 | 只看该作者
7楼的方法验证可用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:水尝无华,相荡乃成涟漪;石本无水,相击而成灵光

0

主题

11

帖子

1

粉丝