下午在写代码编译时报了如下这些错:
/home/mininet/openvswitch-2.10.1/datapath/linux/datapath.c:239:1: error: implicit declaration of function ‘socket’ [-Werror=implicit-function-declaration]
int sock_cli = socket(AF_INET,SOCK_STREAM, 0);
^
/home/mininet/openvswitch-2.10.1/datapath/linux/datapath.c:245:5: error: implicit declaration of function ‘inet_addr’ [-Werror=implicit-function-declaration]
servaddr.sin_addr.s_addr = inet_addr("127.0.0.1");
^
/home/mininet/openvswitch-2.10.1/datapath/linux/datapath.c:246:5: error: implicit declaration of function ‘connect’ [-Werror=implicit-function-declaration]
if (connect(sock_cli, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0)
^
/home/mininet/openvswitch-2.10.1/datapath/linux/datapath.c:248:9: error: implicit declaration of function ‘perror’ [-Werror=implicit-function-declaration]
perror("connect error!");
^
/home/mininet/openvswitch-2.10.1/datapath/linux/datapath.c:250:4: error: implicit declaration of function ‘send’ [-Werror=implicit-function-declaration]
if(send(sock_cli, skb->data,skb->tail-skb->data ,0)<0){
我的函数是没问题的,问题是我调用了未声明的函数,也就是说编译器不知道这个函数的返回值和参数列表
需要在前面加个函数声明就可以了,或者在对于的.h文件中增加函数声明。
文档信息
- 本文作者:last2win
- 本文链接:https://last2win.com/2019/02/28/error/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)