在Qt中将winsock库与`LIBS + = -lws2_32`链接不起作用?

时间:2014-03-26 20:14:14

标签: c++ qt qt5 winsock2

我也尝试过连接我电脑上的路径

C:\Qt\Tools\mingw48_32\i686-w64-mingw32\lib\libws2_32.a

但无济于事。

还有其他方法可以链接winsock库吗?

源代码:

.pro文件:http://privatepaste.com/2ac921e4f5

main.cpp:http://privatepaste.com/557fe9c297

这是唯一两个未达到原始设置的文件。

1 个答案:

答案 0 :(得分:0)

您使用的是this example

吗?

您可以使用项目属性(在解决方案资源管理器中右键单击项目名称并选择属性)添加它,而不是编译指示 - >配置属性 - >链接器 - >输入并将ws2_32.lib添加到其他依赖项。在VS2010中,这是一个分号分隔列表,所以最后,在%(AdditionalDependencies)之前,添加ws2_32.lib;列表。

这是你的代码

s1 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); 
a.sin_addr.s_addr = inet_addr("127.0.0.1"); 
a.sin_family = AF_INET; 
a.sin_port = htons(1000);

a 没有这些方法,套接字,a替换为s1

同样如此:

lLength = connect(s1, (SOCKADDR*)&a, sizeof(a));

只是一个问题

你为什么要通过主窗口

MainWindow w; 
w.show(); 
iResult = WSAStartup(MAKEWORD(2,2), &w);

到您的WSAStartup ??

传递WSADATA wsaData;