编译的时候提示缺少头文件 mmzone.h ....bounds.h
2013-07-27 20:33
316 查看
前两天新到手一个6410的板子,按照说明在上面跑了一下android和QT,都成了。今天想试试helloworld模块的装载发现了一些需要注意的问题。
出现的问题:编译的时候提示缺少头文件 mmzone.h ....bounds.h...等
include/linux/mmzone.h:18:26: error: linux/bounds.h: No such file or directory
include/linux/mmzone.h:197:5: warning: "MAX_NR_ZONES" is not defined
原因:bounds.h是在编译内核时生成的,类似于编译产生的.o文件,如果你运行
解决:独立内核目录之外编译模块时,要确保makefile文件中所定义的内核源代码树已经make过一遍,且没有make clean。这样就不会清除生成的bound.h头文件,这个文件是生成模块必须的。
或者"make prepare"
出现的问题:编译的时候提示缺少头文件 mmzone.h ....bounds.h...等
include/linux/mmzone.h:18:26: error: linux/bounds.h: No such file or directory
include/linux/mmzone.h:197:5: warning: "MAX_NR_ZONES" is not defined
原因:bounds.h是在编译内核时生成的,类似于编译产生的.o文件,如果你运行
"make clean" or "make distclean",这个文件就会被清除掉(详情查看内核Makefile)。因此,如果再利用此内核源码编译内核模块,
如果有涉及bounds.h,就会出现找不到该文件的错误。
解决:独立内核目录之外编译模块时,要确保makefile文件中所定义的内核源代码树已经make过一遍,且没有make clean。这样就不会清除生成的bound.h头文件,这个文件是生成模块必须的。
或者"make prepare"
这样就会重新生成bounds.h,搞定了! 再看看其内容: #ifndef __LINUX_BOUNDS_H__ #define __LINUX_BOUNDS_H__ /* * DO NOT MODIFY. * * This file was generated by Kbuild * */ #define NR_PAGEFLAGS 19 /* __NR_PAGEFLAGS @ */ #define MAX_NR_ZONES 3 /* __MAX_NR_ZONES @ */ #endif
相关文章推荐
- 编译内核模块 .ko文件的注意事项 缺少:mmzone.h bounds.h
- 编译内核模块 .ko文件缺少:mmzone.h bounds.h
- 编译内核模块 .ko文件的注意事项 缺少:mmzone.h bounds.h
- 编译内核模块 .ko文件的注意事项 缺少:mmzone.h bounds.h
- 编译e1000 缺少:mmzone.h bounds.h
- 调用G2O,编译的时候提示:error C1083: 无法打开包括文件: “sys/time.h”
- 安装IIS5.1的时候,遇到缺少zClientm.exe文件的提示,解决方法
- Windows 7 运行VS2015编译的软件提示缺少ucrtbased.dll文件的解决办法
- ant 编译android程序 执行build.xml文件到打包资源文件时候报错!提示找不到资源文件!
- wince6 编译应用程序,提示缺少头文件
- eclipse启动Tomcat的时候提示我缺少server.out.xml文件是什么意思?
- debian内核编译make menuconfig提示缺少库文件
- 关于JAVA文件都在没问题,没有错误提示波浪线,但编译时候提示找不到对应包的问题
- qmake生成makefile编译时提示缺少lqtgui和lqtcore时候的方法
- 问题-Delphi编译时提示缺少delphi自己的单元文件
- maven编译java文件的时候发现总提示非法字符
- 编译java文件的时候出现API已过时的提示,查看是哪个方法过时的具体操作
- 在SQL server 2000中打开表查看数据的时候,提示说“无法执行查询,因为一些文件缺少或未注册”
- 安装IIS5.1的时候,遇到缺少zClientm.exe文件的提示
- 编译java文件的时候出现API已过时的提示,查看是哪个方法过时的具体操作