-std=c99 を削除してみてください .これにより、POSIX マクロが <features.h> で定義されなくなります。 、これにより <unistd.h> が防止されます <getopt.h> を含めることから .または自分で getopt.h をインクルードしてください。
#include <getopt.h> を追加
-std=c99 を削除しないでください。 代わりに、#define _POSIX_C_SOURCE 2 を追加します。
-std を変更する必要はまったくありません または getopt.h を含める
C99 (またはその他の標準化された) 言語機能を POSIX 関数 (getopt など) と一緒に使用する場合に行うべき正しいこと ) は _POSIX_C_SOURCE を定義することです 正しいバージョン (例:200809L ) それぞれのヘッダーを含める前に。詳細については、feature_test_macros(7) を参照してください。