MinGWにてSocket通信を行うには

MinGWにてsocket通信のプログラムを開発していた際に困ったので備忘録として残しておきます。
MinGWUNIX風味のシェル環境になりますが、WindowsAPIを搭載したWindowsアプリケーションの開発環境となります。
そのためなのか、MinGWはWinsockを使用するようになっており、MinGWのincludeフォルダの中に sys/socket.h は入っておりません。

Winsockを使うためには、 #include にてインクルードしてあげれば良いのです…が、他にもコンパイル時に ws2_32.lib もリンカに設定してあげないといけません。
設定するにはコンパイル時に下記のようなコマンドを入力します。

gcc -lwsock32 main.c -lws2_32

MinGWでは通信用にWinsockを使うと言う情報は書かれていますが、ws2_32.lib をリンカに設定する方法を詳しく書いているサイトは見かけなかったので探すのに時間がかかりました。

IDEを使えば簡単ですが、UNIXライクの環境だからこそ出た問題でした