使用Android内核为Nexus 7编译C ++内核模块时出错

时间:2013-07-06 09:58:21

标签: android kernel-module nexus-7

我正在为Nexus 7 Android内核编写C ++模块。以前我用Goldfish内核成功编译了这个模块。但是在将必要的更改移植到Nexus 7内核之后,我收到了编译错误。问题似乎与标题有关。每当我在模块中包含linux / fs.h或linux / debugfs.h时,都会出现以下错误。

/linux/radix-tree.h:在函数'void * radix_tree_deref_slot(void **)'中: /android_kernel_grouper-android-tegra3-grouper-3.1-jb-fr2/include/linux/radix-tree.h:153:9:错误:'void *'不是指针对象类型

radix-tree.h中的对应行与rcu_dereference()有关。

标题,makefile是否存在问题,还是由于修补错误?

1 个答案:

答案 0 :(得分:0)

要找出gcc(或g ++)中使用的编译参数,您应该对makefile使用“make V = 1”。但错误:

错误:'void *'不是指向对象的指针类型

看起来更像是C ++错误,这是代码中固有的(Android内核不使用C ++)。

这似乎可以通过重铸来解决:

Error: ‘void*’ is not a pointer-to-object type

C++. Error: void is not a pointer-to-object type