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のバージョンごとに定義が決まっているらしいです。