失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > keil4找不到c语言头文件路径 keil4中头文件路径设置的方法汇总

keil4找不到c语言头文件路径 keil4中头文件路径设置的方法汇总

时间:2018-11-12 23:49:49

相关推荐

keil4找不到c语言头文件路径 keil4中头文件路径设置的方法汇总

被头文件的路径设置困扰了很长时间,现在终于知道了!

在keil4中头文件路径设置的方法:

假设这里有若干个文件,分别是:

main.c dong.c peng.h

其中,main.c和dong.c都依赖与peng.h。他们的内容分别如下:

main.c:

绝对路径是:E:MY_DocumentskeilC51includeffdduu

dong.h:

绝对路径是:E:MY_DocumentskeilC51includekkkisdfbh

peng.h:

绝对路径是:E:MY_DocumentskeilC51includeddjjppkk

这里说明一下:

在windows环境下: " . "表示当前目录, " .. "表示当前目录的上一级目录,并且 ".."可以连用,也就是可以写成 " ......"表示当前目录的上级目录的上级目录的上级目录。

而在linux环境下," ./ "表示当前目录, " ../ "表示当前目录的上一级目录,并且 "../"可以连用,也就是可以写成 " ../../../"表示当前目录的上级目录的上级目录的上级目录

这里我将他们分别放在不同的文件夹下面,由于后缀为.c的源文件只要添加到工程之中就会参加编译,并且必须添加到工程之中。所以这里只总结一下几种头文件目录的添加方法。

方法一 在keil的开发环境下添加:

请注意上面的系统生成的头文件目录是:

,即.ddjjppkk,其中.是相对于项目文件.uvproj而言的,其中 . 表示项目文件所在的当前目录, 项目文件的绝对路径是:E:MY_DocumentskeilC51include,peng.h的绝对路径是:E:MY_DocumentskeilC51includeddjjppkk,很容易看到,peng.h文件就在E:MY_DocumentskeilC51include的ddjjppkk目录下。

假如项目文件在E:单片机系列嵌入式uCOSuCOS-ii 版uCOSII2.91MDK-ARM下,而其中一个头文件在:E:单片机系列嵌入式uCOSuCOS-ii 版uCOSII2.91USERuCOS-IISource

下,那么在keil环境下设置产生的头文件目录是:..USERuCOS-IISource。

方法二 绝对路径法

即将头文件的绝对路径写到#include之后。如下:

在main.c中:

在dong.c中:

方法三、相对路径法

peng.h的绝对路径是:E:MY_DocumentskeilC51includeddjjppkk

main.c的绝对路径是:E:MY_DocumentskeilC51includeffdduu

dong.c的绝对路径是:E:MY_DocumentskeilC51includekkkisdfbh

通过分析可以得到peng.h相对于main.c路径是:

......ddjjppkk

peng.h相对于dong.c的路径是:

........ddjjppkk

所以在main.c中修改如下:

在dong.c中修改如下:

方法四 、相对目录+相对目录

在有的 .c 文件中,头文件有如下表示方法:

如有os_dbg.c,其中头文件是这样写的:

#include "uCOS-IISourceucos_ii.h" ,或者写成#include

而os_dbg.c的绝对路径是:E:单片机系列嵌入式uCOSuCOS-ii 版uCOSII2.91USERuCOS-IIPortsARM-Cortex-M3RealView

ucos_ii.h的绝对路径是:E:单片机系列嵌入式uCOSuCOS-ii 版uCOSII2.91USERuCOS-IISource

在keil环境中的头文件路径设置中有:

当前.uvproj的绝对路径是:E:单片机系列嵌入式uCOSuCOS-ii 版uCOSII2.91MDK-ARM

可以看到, "..USER" + "uCOS-IISourceucos_ii.h"不就是ucos_ii.h相对于.uvproj 的路径吗?即 "..USERuCOS-IISourceucos_ii.h"。

如果觉得《keil4找不到c语言头文件路径 keil4中头文件路径设置的方法汇总》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。