编写linux内核模块,需要自己编写Makefile,同时在Makefile里面制定自己的内核路径,这样才能处理提示没有头文件错误。
编译命令:
exportPATH=$PATH:#编译工具链路径
exportARCH=#CPU类别(例如arm)
exportCROSS_COMPILE=arm-none-linux-gnueabi-#(编译工具xx-gcc的前缀xx)
make-C#编译好的内核模块运行的Linuxkernel内核源代码目录树M=$`pwd`moles
Linux模块编译例子:
exportPATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin
#forSamsungs5pc100
exportARCH=arm
exportCROSS_COMPILE=arm-none-linux-gnueabi-
make-C/home/wenxy/src/s5pc100/linux-2.6.35.5M=$`pwd`moles
Ⅱ C语言源文件编译时找不到头文件
首先看看这几个头文件是否存在?
如果存在记下存放的路径,检查头文件的配置,即查看makefile,看看头文件寻找路径是否有刚才的那个路径。
如果不存在这几个头文件的话,那就去找找这几个头文件,有可能需要安装一些库文件
Ⅲ 编译的时候找不到 SDK库中的头文件怎么办
一,引入第三方sdk时找不到头文件问题:
我在mac mini,Xcode6.x的环境下引入了第三方SDK,同Xcode自带的framework同放在工程的Frameworks路径下,想在代码中使用第三方SDK时发现找不到,而系统的framework却能够找到,解决办法:
在Build Settings里搜索Search Paths 发现里面Library Search Paths 中没有生成刚引进的SDK路径,自己手动添加上去(系统自带的framework不需要添加),将里面Library
Search Paths 中没有用到的地址删除,如图:framework5是引入的第三方:
再回头看,是否能够引用到了第三方的库,如果还没有,那么将你第三方SDK对应的framework5放到最外层文件夹,再对应的重新定位Framework Search Paths,能够找到了吧!
二:好了,头文件找到了,coding。。。然后编译运行,发现报错“_OBJC_CLASS_$_某文件名", referenced from:xx ”;
出这个错是因为Xcode没能自动把“_OBJC_CLASS_$_某文件名", referenced from:xx ”中的“ 某文件名 ”编译进去,又需要手动去弄了,实现的部分可以是。framwork也可以是源码文件,解决办法,打开Project Target-》Build Phases,将“某文件” 拖到对应的位置,(如果是源码文件拖到Compile Sources,如果是在。framework中,则将framework拖到Lind Binary With Libraries),如图:
再编译,如果再报错,
1,那么再阅读你所使用的第三方SDK文档,有的引入需要依赖于系统的framework,请按照说明将Xcode自带的framework引入即可;
2,还有一种可能,静态库一般有两个,一个真机调用的,一个模拟器调用的。在真机调试时使用模拟器专用的库或反之都会报错,你可以将它们编译成真机和模拟器都能使用的静态库,方法这里不细说。
Ⅳ iOS开发中找不到头文件解决办法
有时候我们导入头文件后编译保存找不到'xxx.h'文件,可能是因为加入头文件路径没有配置好。
解决方案: 在 Target ->Build Setting -> Search Paths -> User Header Search Paths里面添加 ${SRCROOT} 即可,如下图所示:
Ⅳ linux头文件存在编译时却找不到
1、通过find命令查找编译时找不到的头文件。
find / -name x.h (x.h是缺少的头文件,根据实际情况操作)
2、如果能找到, 就在/usr/include目录下建立一个x.h的软连接
ln -s /usr/include /usr/x/y/z/x.h (假设缺少的头文件路径 /usr/x/y/z/,根据实际情况操作)
3、如果不能找到,就说明当前系统缺少此头文件的库,自行网络搜索相应的库安装即可。
Ⅵ 做msp430的编程时,在编译的时候显示没有头文件.该怎么办
首先看看你要的是什么头文件,然后去编译器的安装根目录下搜索,看是否含有你要的头文件。如果没有,看库文件里面有没有合适的可以用来做替换,或者到网上下载一个你想要的头文件,再不行你就自己写一个咯。
这个主要还是看你要的是什么头文件。
Ⅶ 编译时找不到头文件这个问题怎么解决
你是否有试过编译一个文件时,老是因为缺掉一些头或库文件而编译不通过呢?下面给出一种方法来解决这个问题:
1.先安装apt-filesudoapt-get install apt-filesudoapt-file update
2.假如make时,出现
main.c:21:21:
error: gtk/gtk.h: No such file or directory使用:sudoapt-file searchgtk.h
运行以上命令可能返回好多包,精简一下sudoapt-file search gtk/gtk.h结果如下:
# apt-file search gtk/gtk.h
libgfcui-dev:
usr/include/gfc-2.0/gfc/gtk/gtk.hh
libgtk+2.0-directfb-dev:
usr/include/directfb/gtk-2.0/gtk/gtk.h
3.最后定位该头文件所在的位置
wyylling@ubuntu:~/Gnome$ locate gtk.h
将该/usr/include/gtk-2.0/加入头文件搜索路径中即可
Ⅷ vscode下运行c++找不到头文件是怎么回事
版本不同,打开同一工程时会提示找不到。
解决这个问题的方法如下:
1、打开“VS2017”,点击“项目”,打开“项目属性”。
Ⅸ 编译时找不到头文件有哪些可能原因
头文件有两种,一种是系统自定义的库<>,一般编译环境里会有默认配置路径
另一种是自定义的头文件"",这种可能需要在c文件的相同目录下,
不在相同目录下,就需要指定include路径。一般都是h文件放一个文件夹,增加配置include路径。
Ⅹ visual C++6.0编译的时候找不到头文件stdafx.h怎么办
stdafx.h 是微软自己搞的预编译机制中的一个默认文件,里面填写代码用到的h文件, 而vs在编译代码时,会把 stdafx.h 里面提到的h进行预先编译,缓存起来,当用户不更改stdafx.h 里面内容时,则不重新编译这些h, 这样会让你更加高效地进行反反复复的run/debug操作。
当你把vs工程设置成 [不使用预编译机制]时, 可能会导致每次调试运行的时候,编译速度变慢.
如果由于种种原因, cpp文件在编译时找不到他所在目录中的stdafx.h, 那么
1,使用记事本 ,新建一个空白文件,放在引用stdafx.h 的cpp所在文件夹。
2,把这个新建的txt文件改名成stdafx.h ,内容可以为空。
3,重新编译代码。