在VS中测试完好的modbusTCP发报端/客户端,拿到Qt当中做UI,
build时出现
error: undefined reference to `_imp__WSAStartup@8'
等大约10条error,原因是socket库的编译链接问题。
网上的解决办法:
错误原因:因为没有联接socket库ws2_32.lib。
解决办法:对于VC6.0要在porject/settings的link页面中object/librarymodules中添ws2_32.lib就可以了;对于Dev-C++同样在工程/工程属性的参数页面中连接器那一栏中添加库,这时必须找到库文件的目录,对于Dev-C++的对应库文件是libws2_32.a,在软件安装下lib文件夹中可以找到相应的库文件。
总结:所有运用到WinSock2的程序在编译连接时都要用的该库
===========================================================
我的解决办法:
在项目的pro文件中
QT += core gui
下面添加
LIBS += -lpthread libwsock32 libws2_32
即可。
记得要 include<windows.h> 或者 <winsock2.h>