Keil5编译问题

更新时间:2023-10-11 19:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

cannot open source input file “core_cm4.h”解决方法

装了比MDK5.11A更高版本的MDK后,可能出现编译标准例程报如下错误:

..\\SYSTEM\\sys\\stm32f4xx.h(470): error: #5: cannot open source input file \_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,剩下的目录是安装时系统自己建立,直接相同即可)

本文来源:https://www.bwwdw.com/article/ponf.html

Top