GNU/Linux >> Linux Esercitazione >  >> Linux

Getopt non incluso? dichiarazione implicita della funzione 'getopt'

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).


Linux
  1. gestore abbonamenti:comando non trovato

  2. dnf:comando non trovato

  3. id:comando non trovato

  4. w:comando non trovato

  5. df:comando non trovato

Funzioni Bash

ifrename:comando non trovato

aws-shell:comando non trovato

ln:comando non trovato

C:comando Linux eseguito dalla funzione popen() che non mostra risultati

fflush() non funziona in Linux