Eclipse c++ 中[Linker error] undefined reference to `WSAStartup@8’的解决办法

今天搭建了一个Eclipse+MinGW的C++开发环境,Eclipse的使用就是方便。
于是,就写了一个socket程序,MinGW支持winsock2,但到编译的时候总是报错:
undefined reference to `inet_addr@4'

undefined reference to `gethostbyname@4'

undefined reference to `WSAGetLastError@0'

undefined reference to `inet_ntoa@4'

undefined reference to `WSAStartup@8'

undefined reference to `inet_ntoa@4'

undefined reference to `socket@12'

undefined reference to `htons@4'

undefined reference to `bind@12'

undefined reference to `listen@8'

undefined reference to `accept@12'

undefined reference to `recv@16'

undefined reference to `send@16'

undefined reference to `shutdown@8'

undefined reference to `closesocket@4'

undefined reference to `closesocket@4'

undefined reference to `WSACleanup@0'
这错一看,要么是程序没有加载winsock2.h库,要么是程序make的时候出错。
检查console连接结果,发现确实是缺少socket的链接参数:-lws2_32.
在eclipse中添加make参数的方法:
右键工程 -> properties -> C++ build -> settings -> Tool Settings
在左边树形结构中选中 MinGW C++ Linker,此时在右边的command line pattern就是make时的参数设置,在后面加上-lws2_32就可以了。
再编译,成功了。
设置的截图如下:
Eclipse c++ 中[Linker error] undefined reference to `WSAStartup@8'的解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文链接: https://www.cnblogs.com/wangicter/archive/2012/03/06/4767373.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    Eclipse c++ 中[Linker error] undefined reference to `WSAStartup@8'的解决办法

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/43448

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午8:05
下一篇 2023年2月8日 下午8:07

相关推荐