首页 > 解决方案 > netdb.h:尝试在 Windows 上运行套接字程序(C 语言)时没有这样的文件或目录

问题描述

我有以下 C 代码,我需要运行它。但我在使用的库中总是出现以下错误。我尝试下载 MinGW 并将其路径添加到环境变量中,但仍然是同样的问题。

[错误] netdb.h:没有这样的文件或目录

我正在尝试在 Windows 上运行我的代码。它是一个 C 语言的 Socket 程序。这些库是:

#include <stdio.h> 
#include <netdb.h> 
#include <netinet/in.h> 
#include <stdlib.h> 
#include <string.h> 
#include <sys/socket.h> 
#include <sys/types.h> 
#define MAX 80 
#define PORT 8080 
#define SA struct sockaddr 

另一个问题,如果我想在我的笔记本电脑上运行一个套接字作为客户端和服务器(Windows),我该怎么做?

标签: csocketsnetworkingcompiler-errorswinsock

解决方案


我现在做同样的事情。我也有这个问题。如果在 Windows 上运行脚本,则必须安装正确的头文件。我用...

#ifdef _WIN32
//For Windows
int betriebssystem = 1;
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <ws2def.h>
#pragma comment(lib, "Ws2_32.lib")
#include <windows.h>
#include <io.h>
#else
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
int betriebssystem = 2;
#endif

尝试运行它。也许您必须为“ws2_32”链接库。


推荐阅读