Keil5编译问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cannot open source input file “core cm4.h”解决方法
装了比MDK5.11A更高版本的MDK后,可能出现编译标准例程报如下错误:
..\SYSTEM\sys\stm32f4xx.h(470): error: #5: cannot open source input file "core_cm4.h": No such file or directory
实际出错是在stm32f4xx.h,如图1所示:
图1 找不到core_cm4.h路径.
该core_cm4.h文件在stm32f4xx.h里面被引用,实际上是ARM CMSIS的东西,路径在MDK 安装路径下,为: MDK安装目录\ARM\Pack\ARM\CMSIS\4.1.1\CMSIS\Include
一般来说,装了CMSIS支持包就应该可以找到才对,但是部分客户电脑无法找到,原因未知.
不过,我们可以通过手动制定路径的办法,解决这个问题.
添加方法:点击魔术棒-->C/C++选项卡-->Include Paths ,选择我们MDK安装目录,找到\ARM\Pack\ARM\CMSIS\4.1.1\CMSIS\Include,如图2所示:
图2 手动添加CMSIS头文件路径.
之后,多次点击确认,回到主界面.
再重新编译,即可解决问题.
方法二:
个人建议,当找到上述的路径之后,可以看到include目录,所以可以直接将当前的目录拷贝出来(不过要注意MDK版本),直接放到当前工程的目录下,通过魔术棒-◊C++-◊include 包含以下编译就OK,(以后对新工程的使用方便快捷(MDK版本没有发生变化的情况下)),具体的操作见下图:
keil5 编译程序出现错误Error: L6411E: No compatible library exists with a definition of startup symbol __main
Error: L6411E: No compatible library exists with a definition of startup symbol __main.
之前装过ADS,ADS与MDK冲突,依据网友提供的资料,最终的解决办法如下
在我的电脑点击属性>高级系统设置>高级>环境变量>在系统变量中>新建
(如果我的电脑只是快捷方式则属性中不会出现环境变量,需要在屏幕空白处右击,选择个性化,主题,找到桌面图标设置(系统不同,位置不一定一样,在个性化中可以找到),将计算机选项勾选即可)变量名:ARMCC5LIB
变量值:F:\Keil_v5\ARM\ARMCC\lib
(变量值是keil的安装目录,本人安装目录在F:\Keil_v5,剩下的目录是安装时系统自己建立,直接相同即可)