当前位置: 技术问答>linux和unix
linux驱动的头文件相对路径问题
来源: 互联网 发布时间:2016-11-17
本文导语: 我用的linux版本是2.6.9,我在/drivers/char/下看到I2c的驱动,有一句 #include 我在include/asm/下没找到arch这个文件夹,更别说pxa-regs.h了,只在includeasm-armarch-pxa/下找到这个文件,不知道这是怎么定义的,还是我的相对路径...
我用的linux版本是2.6.9,我在/drivers/char/下看到I2c的驱动,有一句
#include
我在include/asm/下没找到arch这个文件夹,更别说pxa-regs.h了,只在includeasm-armarch-pxa/下找到这个文件,不知道这是怎么定义的,还是我的相对路径理解错了,编译没有错误,能够生成.o文件,望高手帮下
#include
我在include/asm/下没找到arch这个文件夹,更别说pxa-regs.h了,只在includeasm-armarch-pxa/下找到这个文件,不知道这是怎么定义的,还是我的相对路径理解错了,编译没有错误,能够生成.o文件,望高手帮下
|
Makefile
srctree是源码目录, hdr-arch是你要编译的机器架构,
如果要编译的目标平台是x86,那么arch/x86/include/会添加到头文件的搜索路径,
asm/xxx.h实际上使用的是arch/x86/include/asm/xxx.h
343 LINUXINCLUDE := -I$(srctree)/arch/$(hdr-arch)/include -Iinclude
344 $(if $(KBUILD_SRC), -I$(srctree)/include)
345 -include include/generated/autoconf.h
srctree是源码目录, hdr-arch是你要编译的机器架构,
如果要编译的目标平台是x86,那么arch/x86/include/会添加到头文件的搜索路径,
asm/xxx.h实际上使用的是arch/x86/include/asm/xxx.h
|
include/asm/应该是个符号链接,楼主的情况,应该就是链接到asm-arm
asm/arch/可能也是链接吧,楼主用ls -l看看?
asm/arch/可能也是链接吧,楼主用ls -l看看?
|
刚查了一下,include/asm/和asm/arch/都是符号链接。
内核源代码编译之前没有这个链接。做好配置之后,第一次编译的时候会自动建立,链接到指定的ARCH对应的目录。
内核源代码编译之前没有这个链接。做好配置之后,第一次编译的时候会自动建立,链接到指定的ARCH对应的目录。