包含 Linux 头文件

Posted

技术标签:

【中文标题】包含 Linux 头文件【英文标题】:Include Linux header file 【发布时间】:2010-09-14 02:21:15 【问题描述】:

我怎样才能包含一个 linux 头文件?我从网上读到头文件在/usr/include。但是,我需要的头文件不在那个目录中;它位于/usr/src/kernels/2.6.32.../include/linux/

我尝试使用完整路径包含文件。但是,该文件本身也包含其他头文件。因此,我编译时编译器找不到其他头文件。

如何在我的程序中包含头文件并编译程序?

【问题讨论】:

具体是哪个头文件? askubuntu.com/questions/75709/… 【参考方案1】:

如果您使用的是 Ubuntu,请安装 libcpufreq-dev。这将为您提供位于/usr/include/cpufreq.hcpufreq.h 标头,您可以使用#include <cpufreq.h> 从代码中包含该标头。

【讨论】:

安装标头是最好的解决方案。【参考方案2】:

默认情况下,gcc 在以下目录中搜索头文件:

/usr/local/include/
/usr/include/

以及以下库目录:

/usr/local/lib/
/usr/lib/

编译器选项 -I 和 -L 分别将新目录添加到包含路径和库搜索路径的开头。

【讨论】:

【参考方案3】:

您可以在gcc 命令行中添加-I(用于“包含”)选项,这些选项指定其他目录来搜索包含文件(除了或实际上甚至不是像/usr/include 这样的普通目录,尽管它是如此自从我上次需要“而不是”以来,我不记得它是如何完成的了 == man gcc 应该在 5 分钟内告诉你,如果你需要找出答案;-)。

【讨论】:

以上是关于包含 Linux 头文件的主要内容,如果未能解决你的问题,请参考以下文章

linux 下的内核头文件放在哪里

linux怎么include不同文件夹下的头文件

linux系统调用包含啥头文件

linux下编写c++,include的那些头文件在啥地方

linux下编写c++,include的那些头文件在啥地方

linux/msg.h头文件的内容是啥?