Linux下一般用gcc,就以gcc的命令为例
要增加头文件目录inc,那么编译选项加上-Iinc
如果有多个 就写多个
比如 -Iinc -I/home/name/include
类似的 增加lib路径用-L
比如 -Llib -Lmy_lib
就是增加当前目录下 lib和my_lib两个文件夹作为库文件目录。
什么系统?CentOS、Fedora、RHEL等直接用yum install kernel-headers。Ubuntu尝试用apt-get install。
linux下可能会有2个内核共存。例如2.6.18和2.6.33共存。每次启动时,都会选定一个内核版本。那么。安装kernel-headers时,选择的版本应当与当前使用的内核版本一致。
就是2.6.18的内核配2.6.18的kenrl-headers。
因为以前曾经有人遇到过不匹配的状况,导致某些程序功能无法安装使用。
例如2.6.33的kernel已经发布安装但2.6.33的kernel-headers还没有发布。
结果以2.6.33内核登录系统后,安装kernel-headers时就出错了。
可以使用uname -r来查看当前内核版本。
使用yum list | grep kernel-headers来查看当前yum仓库中的kernel-headers的版本是否和内核版本一致。
如果一致,直接yum install kernel-headers
如果不同,重启系统,换其他内核版本登录后,再yum install。
Ubuntu参考执行
楼上的 你的意思是把用到的函数生成库文件放到linux源码里? 头文件放到linux源码的include文件夹下,库函数放到源码的lib文件夹下,然后编译内核,这样会自动生成库文件吗? 是否要修改linux源码的Makefile?欢迎分享,转载请注明来源:内存溢出
评论列表(0条)