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