这听起来像是一个很小的问题。 我正试图在Linux内核中实现一个基于UDP的协议。我正在关注UDPLite协议实现作为参考。在linux内核中添加和编译新代码
步骤1
我在净创建new_protocol.c /的IPv4/
此文件具有一个功能
空隙_init protocol_init(无效){*代码在这里*}
我也用
在该文件中的#include “udp_impl.h”
,因为我是使用从UDP协议
步骤2
我修改的文件净/的IPv4/udp_impl一些功能.H包括净/ new_protocol.h
步骤3
我创建的文件包括/净/ new_protocol.h其中I中定义的功能
空隙protocol_init(无效);
步骤4
最后,我在净/的IPv4/af_inet.c调用的函数。另外,我给在此文件中的包括语句网/ new_protocol.h
现在,当我尝试编译内核,我得到一个错误说
未定义的参考`protocol_init()
缺少什么我在这里?我的包含头文件的方式不正确吗?我是否需要在makefile中包含一些信息来获取新的net/ipv4/protocol.c?
边注:如果你没有在这里得到很好的答案;我建议找出一些linux内核邮件列表或论坛。 – GhostCat