Prova a rimuovere -std=c99
. Ciò impedisce la definizione delle macro POSIX in <features.h>
, che impedisce <unistd.h>
dall'includere <getopt.h>
.Oppure includi tu stesso getopt.h.
Aggiungi #include <getopt.h>
tra gli include.
Il cloud non rimuove -std=c99
.Invece, aggiungi #define _POSIX_C_SOURCE 2
all'inizio.
Non è assolutamente necessario modificare il -std
o per includere getopt.h
direttamente.
La cosa giusta da fare se si desidera utilizzare le funzionalità del linguaggio C99 (o qualsiasi altro standardizzato) insieme alle funzioni POSIX (come getopt
) è definire _POSIX_C_SOURCE
alla versione corretta (ad esempio, 200809L
) prima di includere le rispettive intestazioni. Per maggiori dettagli vedi feature_test_macros(7).