MinGW環境のC言語のソケット通信のメモ

MinGW環境のC言語のソケット通信のメモ

メモとして残します。

Windowsでソケット通信を行うのに必要なライブラリは、Ws2_32.libです。

しかし、そのままMinGW環境でコンパイルしようとするとgetaddrinfo()とfreeaddrinfo()のところで

などのエラーが発生します。

このようなエラーを防ぐにはソースコードのヘッダー宣言より上に

などとdefine定義を行うことでコンパイルができるようになります。

Windowsのオペレーティングシステムの関数を用いるときに必要となるときがあるらしいです。

以上です。

参考

MSDN:(https://msdn.microsoft.com/library/windows/desktop/aa383745#setting_winver_or__win32_winnt)

_WIN32_WINNT の定義について、Windowsのバージョンごとに定義が決まっているらしいです。