Essayez de supprimer le -std=c99 . Cela empêche les macros POSIX d'être définies dans <features.h> , ce qui empêche <unistd.h> en incluant <getopt.h> .Ou incluez getopt.h vous-même.
Ajouter #include <getopt.h> parmi les inclus.
Vous ne supprimez pas -std=c99 .À la place, ajoutez #define _POSIX_C_SOURCE 2 au début.
Il n'est absolument pas nécessaire de modifier le -std ou pour inclure getopt.h directement.
La bonne chose à faire si vous souhaitez utiliser les fonctionnalités du langage C99 (ou toute autre fonctionnalité standardisée) avec les fonctions POSIX (comme getopt ) est de définir _POSIX_C_SOURCE à la bonne version (par exemple, 200809L ) avant d'inclure les en-têtes respectifs. Pour plus de détails, voir feature_test_macros(7).