2017-01-02 88 views
0

我從一個stackoverflow answer提取的程序,並試圖編譯它,使用MSVC++ IDE V6,但編譯器抱怨我沒有任何以下.H包含文件:哪裏可以找到缺少的「C」包含文件。 (* .h)中

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

如何獲取這些缺少包含文件?

+0

很可能是因爲沒有使用'gcc'來運行你的程序。我不是MSVC和基於Windows開發的粉絲,但是您可以通過在Windows上使用[link](https://mingw-w64.org/doku.php/download)安裝'Mingw-w64'來編譯程序。 。 – hmofrad

+0

副本: user3629249

回答

2

上面提到的頭文件與基於linux的發行版有關。這些用於Linux上的套接字編程。您可以在基於Linux的發行版上輕鬆運行此代碼。

0

缺少的頭文件是unix/linux頭文件。

Windows套接字API與Berkely套接字API(Linux中的套接字)略有不同。在Windows中,大多數需要的聲明都可以通過單個包含文件來獲得,舊文件可能是舊版本winsock.h或更新版本winsock2.h

您將需要做一些進一步的修改來移植你的代碼。在MSDN上有porting socket applications to Winsock的很好的指南。

相關問題