繁体   English   中英

Winsock2.h:没有这样的文件或目录

[英]Winsock2.h: No such file or directory

我正在尝试使用mingw32 for Linux编译

但是,我收到以下错误和警告:

# i586-mingw32msvc-gcc ms04-020.c -lws2_32 -o ms04-020.exe
ms04-020.c:43:22: error: Winsock2.h: No such file or directory
ms04-020.c: In function ‘main’:
ms04-020.c:113: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c:114:11: warning: unknown escape sequence '\;'
ms04-020.c: In function ‘readwrite’:
ms04-020.c:251: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c:259: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c:264: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c:279: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c:285: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c:290: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c:301: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c:307: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c:312: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c: In function ‘client_connect’:
ms04-020.c:333: warning: incompatible implicit declaration of built-in function ‘printf’
ms04-020.c:343: warning: incompatible implicit declaration of built-in function ‘printf’

如何修复Winsock2.h的错误? 我确实设法在Windows 7上使用Visual Studio 2013进行编译,这是一个可接受的解决方案,但是使用Visual Studio 2010或更高版本进行编译会使应用程序与Windows 2000目标操作系统不兼容 因此,即使它以这种方式构建,二进制文件也不会执行。

正如你可以猜到的那样, winsock2.h与Windows的TCP / IP套接字实现直接相关,并且只存在于Windows系统上。

在Windows和Linux之间可能很难完全兼容include 恕我直言,你应该:

  • 从源代码中删除#include <winsock32.h>以进行Linux编译或更好地编写:

     #ifdef _WIN32 #include <Winsock2.h> #endif 
  • 添加(最终在#else部分中)缺少的标题

目前, warning: incompatible implicit declaration of built-in function 'printf'表明你缺少#include <stdio.h>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM