我正在尝试在内核3.13上编译内核模块,但出现此错误:
error: implicit declaration of function 'create_proc_read_entry' [-Werror=implicit-function-declaration]
我用谷歌搜索,没有找到任何回应。这是代码中引用此错误的部分:
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) proc = proc_net_create(KAODV_QUEUE_PROC_FS_NAME, 0, kaodv_queue_get_info); #else proc = create_proc_read_entry(KAODV_QUEUE_PROC_FS_NAME, 0, init_net.proc_net, kaodv_queue_get_info, NULL); #endif if (!proc) { printk(KERN_ERR "kaodv_queue: failed to create proc entry\n"); return -1; }
我可以得到帮助吗?我真的不知道怎么了 可能是需要补丁的内核3.13。我在内核3.10上读到了内核需要修补的地方。谁能告诉我在哪里可以获得3.13内核补丁来最终解决此问题。谢谢
该错误是因为您没有明确包含声明该函数的标头,并且编译器暗中为您“包含”,这会引发警告。标志“ -Werror”使编译器将警告视为错误。尝试添加: #include <linux/proc_fs.h>
#include <linux/proc_fs.h>
另外:create_proc_read_entry是不推荐使用的函数。
create_proc_read_entry