此文首发于我的个人博客:解决gcc报错 error implicit declaration of function ‘inet_addr’ [-Werror=implicit-function-declaration] — zhang0peter的个人博客


下午在写代码编译时报了如下这些错:

/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文件中增加函数声明。

解决gcc报错:error: implicit declaration of function ‘inet_addr’ [-Werror=implicit-function-declaration]相关推荐

  1. git:Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists)....

    Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). 解决办法一:保 ...

  2. 解决MySQL报错ERROR 2002 (HY000)【转】

    今天在为新的业务线搭架数据库后,在启动的时候报错 root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql ERROR 2002 (HY000): C ...

  3. 解决MySQL报错ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)

    解决MySQL报错ERROR 2003 HY000: Can't connect to MySQL server on 'localhost:3306' 10061   笔者在新电脑安装完 MySQL ...

  4. 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).

    Git 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). 开发新业务,拉取代码时,路由文件发生冲突,解决此文件 ...

  5. 解决MySQL报错ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘localhost3306‘ (10061)

    解决MySQL报错ERROR 2003 HY000: Can't connect to MySQL server on 'localhost:3306' 10061 笔者在新电脑安装完 MySQL 后 ...

  6. 已解决mysql报错ERROR 1049 (42000): Unknown database ‘数据库‘

    已解决mysql报错ERROR 1049 (42000): Unknown database '数据库' 文章目录 报错问题 解决方法 福利 报错问题 粉丝群里面的一个小伙伴敲代码时发生了报错(当时他 ...

  7. 如何解决Keil报错error: #411: a parameter is not allowed ...

    这个报错是因为你的代码里边的某个函数参数做了如下定义: eg:void text(u8 m,u8 arr[][m]){ ... } 即你希望创建一个不定长的数组,但实际上我们知道,一般来说这种创建不定 ...

  8. 解决mysql报错ERROR 2002 (HY000)

    解决Mysql报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/my ...

  9. 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists)

    Git fetch和git pull的区别: 都可以从远程获取最新版本到本地 1.Git fetch:只是从远程获取最新版本到本地,不会merge(合并) $:git fetch origin mas ...

最新文章

  1. [C] 图的深度优先遍历
  2. Spring Bean四种注入方式(Springboot环境)
  3. hostapd移植与使用
  4. atitit.js浏览器环境下的全局异常捕获
  5. debian gnu linux8,Debian GNU/Linux 9.3 Stretch 和8.10 Jessie正式发布
  6. UI自学宝典,完整UI学习线路图
  7. Codeigniter 4.0-dev 版源码学习笔记之六——控制器
  8. PHP面向对象(OOP)----分页类
  9. 为了不让代码“作恶”,能否将道德条款纳入开源许可证?
  10. java面试解决项目难题_Java转换难题者,不适合工作(或面试)
  11. 4 MM配置-企业结构-定义-维护采购组织
  12. java界面的this_jsp中的this
  13. Java网络编程从入门到精通(24):实现HTTP断点续传下载工具(附源代码)
  14. 计算机网络第七版课后答案(谢希仁版)
  15. linux远程调试程序,嵌入式Linux的GDB远程调试的实现
  16. dex字符串解密_GitHub - zhoushuntong/DexEncryptionDecryption: APK 加固 dex 加密,解密 学习项目...
  17. 三位数的茎叶图怎么看_三位数的茎叶图
  18. 【网盘项目日志】Seafile 源码部署和安装命令
  19. 机器学习(18)——分类算法(补充)
  20. missing ios distribution signing identity xxx, xcode can request one for you

热门文章

  1. 附录5:TensorFlow基础(一)
  2. 基于K-gram的winnowing特征提取剽窃查重检测技术(概念篇)
  3. Android源码下载资料
  4. GitHub 的项目徽章
  5. R语言与数据分析(6)-R包的安装
  6. Microbiome | 中科院张惠明团队揭示RNA介导的DNA甲基化影响植物根部微生物群落!...
  7. csvtk:命令行下表格统计分析、数据筛选、替换、整理神器
  8. 沈阳生态所揭示病原真菌和昆虫对温带森林木本植物物种共存的重要作用
  9. COM:养分平衡在塑造植物根-真菌互作中的作用:事实与猜想
  10. 这是入门生信,学习生信分析思路和数据可视化的首选?