编译时头文件的宏找不到怎么回事
A. source insight无法识别包含在其他文件的宏定义,在头文件中明明定义了
因为Source Insight并不是编译器,所以宏定义是否可以识别和源文件中是否包含了该头文件并没有关系.
你必须在工程中将对应的头文件添加进去才行.
菜单中选择 Project -> Add and Remove Project Files ,之后找到头文件所在的文件夹添加上相应的头文件.
一般不是立即有效,可以选择Project -> Synchronize Files 更新一下就好了.
B. C语言编程时,说无法找到delay.h的头文件
你的问题还需要进一步的信息。在信息不全时只能泛泛谈。
- “无法找到delay.h”文件,应该是在编译某个.c文件时出错。
通常,.h文件不会在当前目录下,而会放在类似于:
inc/
include/
之类的子目录下,或者在另外的地方。你可以在相关的地方找找看。
- 如果文件不在当前目录下,则编译时需要指定该目录,采用-I选项,比如:
cc -I./inc -I./include ...
如果采用的是IDE,则在类似‘选项->编译选项->目录'之类的地方设置,效果同“-I./inc”选项
- 至于“想知道这个头文件要怎么编写了”,如果你知道如何编写,就不会在这里问了。在你的系统里找到它才是正道。如果真找不到,说明你该重装你的C工具。
C. linux编写内核模块编译时找不到头文件
-I /usr/src/linux-headers-2.6.32-24/include 其中, -I和后面的路径没有空格
-I/usr/src/linux-headers-2.6.32-24/include
一般也很少直接用gcc命令, 大部分是用makefile, make -C kernel_path moles