ubuntu下编译android4.0.3内核时报错怎么解决

drivers/misc/pmem.c: In function ‘flush_pmem_file’:
drivers/misc/pmem.c:806: error: implicit declaration of function ‘dmac_flush_range’
drivers/misc/pmem.c: In function ‘debug_read’:
drivers/misc/pmem.c:1183: warning: cast from pointer to integer of different size
drivers/misc/pmem.c: At top level:
drivers/misc/pmem.c:1218: warning: initialization from incompatible pointer type
drivers/misc/pmem.c: In function ‘pmem_setup’:
drivers/misc/pmem.c:1276: error: implicit declaration of function ‘ioremap_cached’
drivers/misc/pmem.c:1277: warning: assignment makes pointer from integer without a cast
drivers/misc/pmem.c:1294: warning: cast to pointer from integer of different size
make[2]: *** [drivers/misc/pmem.o] 错误 1
make[1]: *** [drivers/misc] 错误 2
make: *** [drivers] 错误 2

4个回答

1.
error: implicit declaration of function 提示的是找不到.h中的函数定义,检查你的源码是否完整
2.
make前是否正确进行了config.仔细阅读readme,这是驱动代码,你是否希望它被编译,不需要的话,如何不编译此部分

shuang1994
太上无情 回复欧阳嘉: 虽然你的回答没有直接解决我的问题,但是很感谢你的帮助。
接近 3 年之前 回复
iamoyjj
欧阳嘉 遇到问题可以把错误堆栈贴出来
接近 3 年之前 回复
iamoyjj
欧阳嘉 configure or menuconfig 会决定你要编译那些组件,很多都是可选的
接近 3 年之前 回复
shuang1994
太上无情 源代码应该是没问题,就是config可能出了问题,我想知道那些错误的config会导致这些错误?是make menuconfig改变了导致的吗?
接近 3 年之前 回复

去看看是不是缺少重要的文件

经过这几天的我自己的编译情况我发现出现这中报错的原因应该是配置的问题,make menuconfig 没有配置好会出现类似的报错,所一要想不出现这种错误,要么你对配置信息很了解,能自己配置好针对不同体系的.config,
另一个解决办法就是找已经配置好的文件,一般在源代码中都能找到,具体的目录可以网上查到,新手的话还是不要自己配置.config文件,我之前以为make menuconfig后什么都不改,直接保存后生成的.config文件就可以,看来还是太年轻了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问