最近在PB中编译驱动的时候出现一个错误,“
fatal error C1083: Cannot open include file: 'regext.h': No such file or directory”。这种错误一般是文件中包含的头文件的路径没有指定,所以编译的时候找不到该头文件。于是我打开目录下面的sources文件查看,确实没有指定该头文件的路径,如是我按照以下方式添加了路径申明:
INCLUDES=$(_TARGETPLATROOT)/src/inc
INCLUDES=$(_TARGETPLATROOT)/src/xllp/inc -----------这一句是我添加的
没想到错误依旧存在,这回报告的错误是找不到这个路径 INCLUDES=$(_TARGETPLATROOT)/src/inc下的头文件了,这就奇怪了,这个路径明明已经申明了啊!?于是我把刚才添加的那个路径删掉,重新编译,这回又报告之前的错误了。郁闷!?这说明我上面的写法二者只能取其一,而且是最后面的那个路径是有效的,前面的无效。
后来我查看了其它目录下面sources文件中 INCLUDES的写法,有2种,如下:
方式一:
INCLUDES=$(_TARGETPLATROOT)/src/inc
INCLUDES=$(INCLUDES);$(_TARGETPLATROOT)/src/xllp/inc
方式二:
INCLUDES= /
$(_TARGETPLATROOT)/src/inc; /
$(_TARGETPLATROOT)/src/xllp/inc; /
我尝试了按照这2种方式修改了一下,都OK,编译通过。
总结:sources文件下利用 INCLUDES包含多个路径的时候,一定要注意承接符号,方式一中的承接符是 ”$(INCLUDES);“,而方式二中的承接符是“/”,这个承接符千万不能省略,不然的话编译的时候都会报告错误。
INCLUDES=$(_TARGETPLATROOT)/src/inc
INCLUDES=$(_TARGETPLATROOT)/src/xllp/inc -----------这一句是我添加的
没想到错误依旧存在,这回报告的错误是找不到这个路径 INCLUDES=$(_TARGETPLATROOT)/src/inc下的头文件了,这就奇怪了,这个路径明明已经申明了啊!?于是我把刚才添加的那个路径删掉,重新编译,这回又报告之前的错误了。郁闷!?这说明我上面的写法二者只能取其一,而且是最后面的那个路径是有效的,前面的无效。
后来我查看了其它目录下面sources文件中 INCLUDES的写法,有2种,如下:
方式一:
INCLUDES=$(_TARGETPLATROOT)/src/inc
INCLUDES=$(INCLUDES);$(_TARGETPLATROOT)/src/xllp/inc
方式二:
INCLUDES= /
$(_TARGETPLATROOT)/src/inc; /
$(_TARGETPLATROOT)/src/xllp/inc; /
我尝试了按照这2种方式修改了一下,都OK,编译通过。
总结:sources文件下利用 INCLUDES包含多个路径的时候,一定要注意承接符号,方式一中的承接符是 ”$(INCLUDES);“,而方式二中的承接符是“/”,这个承接符千万不能省略,不然的话编译的时候都会报告错误。