我正在为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是否存在问题,还是由于修补错误?
答案 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
等