+ -
当前位置:首页 → 问答吧 → 自己设置一个套接字编译进内核时出错

自己设置一个套接字编译进内核时出错

时间:2011-09-08

来源:互联网

我编译内核时出现如下错误net/ipv4/af_inet.c:112:23: net/MyUDP.c:没有那个文件或目录。
但是我的MyUDP.c文件已经放在net/下了啊!


如上图所示的第二个错误:error:'myudp_prot'undeclared here(not in a function)
这个myudp_prot我定义在MyUDP.c中。当然因为第一个错误显示了没有MyUDP.c这个文件。这个错误就理所当然了。


在net/ipv4/af_inet.c中,我是增加了#include <net/MyUDP.c>  
如图:




我想问一下那里错了呢?

是不是要修改makefile文件还是其他?

作者: abc78400123   发布时间: 2011-09-08

图片没插好,太小了,不好意思,再插一次






作者: abc78400123   发布时间: 2011-09-08

#include <net/MyUDP.c>  


?  
 
学编程最重要的,是要知道自己每一步作的什么? 为什么要这样,不是随便乱乱试着看看

楼主应该先理解include是干什么用的,然后再作下一步

作者: lvyinghong   发布时间: 2011-09-08

#include <net/MyUDP.c>  
直接包含.c 这个不大好. 最好是包含头.h

真要这样应该是include path不对.
#include "../MyUDP.c" 试试.

也可给编译器传 -Ixxx/myupdpath

作者: zmlovelx   发布时间: 2011-09-08

include的路径不对,用""这个试试 #include "MyUDP.c"

作者: yiyaaixuexi   发布时间: 2011-09-08

这么牛啊,都要把自己的程序编进内核了==

作者: bringmeback   发布时间: 2011-09-08

引用 4 楼 yiyaaixuexi 的回复:

include的路径不对,用""这个试试 #include "MyUDP.c"


我将MyUDP.c剪切到ipv4/下,也就是跟af_inet.c同一个目录。

然后修改为:#include "MyUDP.c"
然后编译,结果如下

作者: abc78400123   发布时间: 2011-09-08

引用 5 楼 bringmeback 的回复:

这么牛啊,都要把自己的程序编进内核了==


我是新手,呵呵。

作者: abc78400123   发布时间: 2011-09-08