keil4中头文件路径设置的方法汇总
感觉相对路径比较方便。
keil是从project文件所在目录找头文件,头文件的相对目录是相对.uvproj文件的。
目前我的个人习惯是
建立:Doc、Listing、Output、Project、User几个文件夹
Doc放文档和readme
Listing设置为配置中的清单选项卡输出文件夹
Output设置为输出文件夹
Project放建立的工程文件
User放自己写的.c和.h(这部分后期可能做更改)
还可以有OS等操作系统的文件夹。
在这种情况下,包含头文件用相对方式写的话就是类似于:
#include <..Userallkeillibrary.h>
#include <..UserSTC12C5A60S2.h>
#include <..UserMyType.h>
#include <..Userdeclare.h>
#include <..UserstcY3_delay.h>
#include <..Userhmc5883l.h>
#include <..Usermpu6050.h>
#include <..UserSerial.h>
#include <..Userpmw3610.h>
#include <..Userdata.h>
//#include <..Userkalman.h>
以下是转载的正文:
被头文件的路径设置困扰了很长时间,现在终于知道了!
在keil4中头文件路径设置的方法:
假设这里有若干个文件,分别是:
main.c dong.c peng.h
其中,main.c和dong.c都依赖与peng.h。他们的内容分别如下:
main.c:
绝对路径是:E:MY_DocumentskeilC51includeffdduu
dong.h:
绝对路径是:E:MY_DocumentskeilC51includekkki sdfbh
peng.h:
绝对路径是:E:MY_DocumentskeilC51includeddjjppkk
这里说明一下:
在windows环境下: " . "表示当前目录, " .. "表示当前目录的上一级目录,并且 ".."可以连用,也就是可以写成 " ......"表示当前目录的上级目录的上级目录的上级目录。
而在linux环境下," ./ "表示当前目录, " ../ "表示当前目录的上一级目录,并且 "../"可以连用,也就是可以写成 " ../../../"表示当前目录的上级目录的上级目录的上级目录
这里我将他们分别放在不同的文件夹下面,由于后缀为.c的源文件只要添加到工程之中就会参加编译,并且必须添加到工程之中。所以这里只总结一下几种头文件目录的添加方法。
请注意上面的系统生成的头文件目录是:,即.ddjjppkk,其中.是相对于项目文件.uvproj
假如项目文件在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_DocumentskeilC51includekkki sdfbh
通过分析可以得到peng.h相对于main.c路径是:
......ddjjppkk
peng.h相对于dong.c的路径是:
........ddjjppkk
所以在main.c中修改如下:
在dong.c中修改如下:
方法四 、相对目录+相对目录
在有的 .c 文件中,头文件有如下表示方法:
如有os_dbg.c,其中头文件是这样写的:
#include "uCOS-IISourceucos_ii.h" ,或者写成
而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
可以看到, "
keil4头文件路径设 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)