2017-01-02 1 views
0

extrahiert ich ein Programm von einem stackoverflow answer und versuchte, es zu kompilieren, die MSVC++ V6 IDE verwenden, aber der Compiler beschwert, dass ich nicht über eine der folgenden .h Include-Dateien:Wo finden Sie fehlende "C" Include-Dateien. (* .h)

#include <sys/socket.h> 
#include <netinet/in.h> 
#include <arpa/inet.h> 
#include <net/if.h> 
#include <ifaddrs.h> 
#include <errno.h> 

Wie erhalten Sie diese fehlenden Include-Dateien?

+0

Höchstwahrscheinlich, weil Sie 'gcc' nicht verwenden, um Ihr Programm auszuführen. Ich bin kein Fan von MSVC und Windows-basierter Entwicklung, aber Sie können das Programm kompilieren, indem Sie 'Mingw-w64' auf Windows installieren, indem Sie [link] (https://mingw-w64.org/doku.php/download) verwenden. . – hmofrad

+0

Duplikat von: user3629249

Antwort

2

Die Header-Dateien, die Sie oben erwähnten, beziehen sich auf Linux-basierte Verteilung. Diese werden für die Socket-Programmierung unter Linux verwendet. Sie können diesen Code einfach auf einer Linux-basierten Distribution ausführen.

0

Die fehlenden Header-Dateien sind Unix/Linux-Header.

Die Windows-Socket-API unterscheidet sich geringfügig von der Berkely-Socket-API (Sockets unter Linux). In Windows sind die meisten benötigten Deklarationen über eine einzige Include-Datei verfügbar, entweder die alte winsock.h oder die neuere winsock2.h.

Sie müssen weitere Änderungen vornehmen, um Ihren Code zu portieren. Es gibt gute Handbücher auf porting socket applications to Winsock auf MSDN.

Verwandte Themen