GNU/Linux >> Tutoriels Linux >  >> Linux

Getopt non inclus ? déclaration implicite de la fonction ‘getopt’

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


Linux
  1. gestionnaire d'abonnement :commande introuvable

  2. dnf :commande introuvable

  3. id :commande introuvable

  4. w :commande introuvable

  5. df :commande introuvable

Fonctions bash

ifrename :commande introuvable

aws-shell :commande introuvable

ln :commande introuvable

C :la commande Linux exécutée par la fonction popen() n'affiche pas les résultats

fflush() ne fonctionne pas sous Linux