Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
客户端服务器程序C Windows-库冲突_C_Windows_Sockets_Libraries - Fatal编程技术网

客户端服务器程序C Windows-库冲突

客户端服务器程序C Windows-库冲突,c,windows,sockets,libraries,C,Windows,Sockets,Libraries,我在Eclipse的Windows机器上用C创建了一个经典的客户机-服务器程序。代码本身不会生成任何错误。我唯一的错误是关于库的问题。我包括以下图书馆: #include <windows.h> #include <winsock2.h> #include <ws2tcpip.h> #include <stdlib.h> #include <stdio.h> 唯一的问题是我没有包括winsock.h,并且只包括winsock2.h,正

我在Eclipse的Windows机器上用C创建了一个经典的客户机-服务器程序。代码本身不会生成任何错误。我唯一的错误是关于库的问题。我包括以下图书馆:

#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdlib.h>
#include <stdio.h>
唯一的问题是我没有包括winsock.h,并且只包括winsock2.h,正如它们指定的那样

我如何解决这个问题

更新

我现在按照以下顺序定义了库:

#define _WINSOCKAPI_   /* Prevent inclusion of winsock.h in windows.h */

#include <winsock2.h>
#include <ws2tcpip.h>
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
更新2

我想这条警告可能与我不断遇到的错误有关:

ignoring #pragma comment  [-Wunknown-pragmas]

winsock2.h
顶部有一行:

#define _WINSOCKAPI_   /* Prevent inclusion of winsock.h in windows.h */

您需要在
windows.h
之前包含
winsock2.h

谢谢您的回复。我不太明白:在windows.h之前我需要包括什么?是winsock2.h吗?因为我这样做了,并添加了您的#define,但现在我得到了更多的错误。如果您包括windows.h,windows.h将包括winsock.h。您需要在windows.h之前包含winsock2.h以防止出现这种情况。请用额外的错误更新你的问题,我是这么做的。请查看更新的问题。@JohnSmith您是否链接到ws2_32.lib?@JohnSmith,您以前的错误是编译错误。这些新错误是链接器错误,表示您没有按照指定的方式链接到
ws2_32.lib
。请注意,你没有;不需要在代码中定义
。这已经在
winsock2.h
中了。
ignoring #pragma comment  [-Wunknown-pragmas]
#define _WINSOCKAPI_   /* Prevent inclusion of winsock.h in windows.h */