GNU/Linux >> Belajar Linux >  >> Linux

Getopt tidak termasuk? deklarasi implisit fungsi 'getopt'

Coba hapus -std=c99 . Ini mencegah makro POSIX didefinisikan di <features.h> , yang mencegah <unistd.h> dari menyertakan <getopt.h> .Atau sertakan getopt.h sendiri.


Tambahkan #include <getopt.h> di antara termasuk.


Anda cloud tidak menghapus -std=c99 .Alih-alih, tambahkan #define _POSIX_C_SOURCE 2 di awal.


Tidak perlu mengubah -std atau untuk memasukkan getopt.h langsung.

Hal yang benar untuk dilakukan jika Anda ingin menggunakan fitur bahasa C99 (atau standar lainnya) bersama dengan fungsi POSIX (seperti getopt ) adalah untuk mendefinisikan _POSIX_C_SOURCE ke versi yang tepat (mis., 200809L ) sebelum menyertakan header masing-masing. Untuk detail selengkapnya, lihat feature_test_macros(7).


Linux
  1. manajer langganan:perintah tidak ditemukan

  2. dnf:perintah tidak ditemukan

  3. id:perintah tidak ditemukan

  1. w:perintah tidak ditemukan

  2. df:perintah tidak ditemukan

  3. du:perintah tidak ditemukan

  1. Untuk Env Atau Tidak Untuk Env?

  2. C:Perintah Linux yang dijalankan oleh fungsi popen() tidak menunjukkan hasil

  3. fflush() tidak berfungsi di Linux