日期:2014-05-16  浏览次数:20858 次

linux内核编译,出现这种问题。。。
要编译的内核版本为linux-3.2.10,编译步骤为:
1.make distclean
2.make oldconfig
3.make
结果就出现:大家看看,谢谢啦。
drivers/mfd/wm8994-core.c: 在函数‘wm8994_suspend’中:
drivers/mfd/wm8994-core.c:260:20: 错误: ‘WM1811_JACKDET_MODE_MASK’未声明(在此函数内第一次使用)
drivers/mfd/wm8994-core.c:260:20: 附注: 每个未声明的标识符在其出现的函数内只报告一次
make[2]: *** [drivers/mfd/wm8994-core.o] 错误 1
make[1]: *** [drivers/mfd] 错误 2
make: *** [drivers] 错误 2
root@qust-K42JZ:/usr/src/linux-3.2.10# 


------解决方案--------------------
make defconfig指定预先准备好的config文件,或者把文件改名为.config放到内核代码目录下。
------解决方案--------------------
就是你生成的或者预先准备好的config文件!!
------解决方案--------------------
这个config最好是你当前pc正在用的 ,可以到/boot目录下找到

理论上内核自带的驱动不会有这样的编译错误,实在不行先把这个驱动取消了不编
------解决方案--------------------
要不按照我的步骤试试:
1. # cd /内核/目录
2. # make mrproper
3. # make #这个得自己配置了,可能不会成功
4. # make install
5. # make modules_install
6. # vi /boot/grub/grub.conf # 这里指grub 1