linux 模块编译显示没有头文件

linux 模块编译显示没有头文件,第1张

编写linux内核模块,需要自己编写Makefile,同时在Makefile里面制定自己的内核路径,这样才能处理提示没有头文件错误。

编译命令

export PATH=$PATH:#编译工具链路径

export ARCH=#CPU类别(例如arm)

export CROSS_COMPILE=arm-none-linux-gnueabi-#(编译工具xx-gcc的前缀xx)

make -C #编译好的内核模块运行的Linux kernel内核源代码目录树 M=$`pwd` modules

Linux模块编译例子:

export PATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin

#for Samsung s5pc100

export ARCH=arm

export CROSS_COMPILE=arm-none-linux-gnueabi-

make -C /home/wenxy/src/s5pc100/linux-2.6.35.5 M=$`pwd` modules

在Linux中函数调用头文件#include <iostream

解决办法:

第一步:

输入命令:

echo|g++ -v -x c++ -E -

查看linux下g++的头文件安装目录,我的查看结果缺少环境变量

正确 结果应该是:

#include "..." search starts here:

#include <...>search starts here:

/usr/include/c++/9

/usr/include/x86_64-linux-gnu/c++/9

/usr/include/c++/9/backward

/usr/lib/gcc/x86_64-linux-gnu/9/include

/usr/local/include

/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed

/usr/include/x86_64-linux-gnu

/usr/include

经过查看对比发现缺少:/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed

第二步:输入编辑命令,以编辑器打开配置段

gedit /etc/profile

第三步:在文件编辑器中输入如图所示

第四步:保存

第五步:在一个项目中,需要在shell脚本文件中激活虚拟环境,然后在指定的虚拟环境中执行python脚本。source是bash shell的内置命令,用于读取filename脚本文件中的命令,并在当前shell执行。由于filename的执行环境是在当前shell,因此常用source命令在配置文件改变后,重新执行配置文件,避免重新登录。

source /etc/profile

第六步:g++指令运行代码测试(此处程序名:test1.c

g++ test1.c -o test1

运行通过!

不用加.h。。。。

你少了个using namespace std

或者不加using 这句你就直接用std::cout,std::endl

#include <iostream>

using namespace std

int main (int argc,char**argv)

{

cout<<"Hello,world!"<<endl

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8972655.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存