如果在 Linux kernel 內, 取用某一個 struct 時, 出現這個錯誤訊息
error: dereferencing pointer to incomplete type
source sample 如下
if ( bdev->bd_disk )
printk("%s\n",bdev->bd_disk->disk_name);
而錯在 printk 那一行
這個原因是, 在某一個 .h 內宣告好 bd_disk 的 struct(此例應該是 linux/fs.h)
struct bd_disk;
可是原型卻放在其他 .h 內, 這時就要加入原型的 struct
#include <linux/genhd.h>
就可以 compile 成功...
全站熱搜