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