找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9015|回复: 0
收起左侧

搞定stm32f10x_type.h(23): error: #256: invalid redecla Keil报错

[复制链接]
ID:86860 发表于 2015-7-26 00:27 | 显示全部楼层 |阅读模式
Keil报错:d:\Keil  MDK4\ARM\INC\ST\STM32F10x\stm32f10x_type.h(23): error:  #256: invalid redecla

使用Keil4 MDK V4.10  
固件库V3.5
按照教程建模板是发现编译出现一大推这样的错误:d:\Keil MDK4\ARM\INC\ST\STM32F10x\stm32f10x_type.h(23):error:  #256: invalid redecla等等

经过不断搜索网络资源以及找寻错误原因,发现这样错误的原因是:自己新建的工程文件里的函数如

和原本安装目录里的函数定义冲突了:

原本工程执行的过程是不需要去访问安装目录里的函数的,因为我们新建的工程已经将需要的固件库都添加到我们的工程目录里面了:







但是为什么编译的时候又会跑去调用安装目录下的函数呢?那是因为我们没有把includepath路径设置好,我们必须把我们工程目录下的几个目录包含进去:



包含进去之后看看Compiler control string这里发现我们包含的路径都在“D:\Keil MDK4\ARM\INC\ST\STM32F10x”安装目录的路径之前,说明编译的时候编译器是现在我们包含的工程路径里去找函数的,如果找到了就不会继续往下找,找不到就会跑到安装目录也就是默认的路径去找,这样就会造成重复包含和重定义了。

如果屡次遇到这样问题的一定是includepath这里设置错了的,一定仔细检查,看看路径名有没有写错,这是一点小小经验之谈,写出来给大家分享则个。

如有说错,欢迎指正。如有新解,欢迎指教!
谢谢!!!



回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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