2017-01-02 11 views
0

私はstackoverflow answerからプログラムを抽出し、MSVC++ V6 IDEを使用して、それをコンパイルしようとしたが、コンパイラが、私は次の.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ベースの開発のファンではありませんが、この[link](https://mingw-w64.org/doku.php/download)を使ってWindows上に '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に関する良いガイドがあります。

関連する問題