std::stoi Ralat dalam MinGW: Dilema Ketergantungan
Tidak dapat menyusun menggunakan std::stoi dalam MinGW? Ketahui sebab yang mengejutkan dan kemungkinan penyelesaian.
Isu:
Percubaan untuk menggunakan fungsi seperti std::stoi mencetus ralat dalam MinGW dengan gcc 4.6.1, khususnya " ralat: 'stoi' bukan ahli 'std'". Fungsi ini wujud dalam versi GNU Standard Library (GSL) yang lebih terkini, tetapi mengapa tidak dalam MinGW?
Jawapan:
Pesalahnya ialah pengisytiharan bukan standard dalam Windows. GSL mentakrifkan _GLIBCXX_HAVE_BROKEN_VSWPRINF pada platform ini, yang melumpuhkan fungsi penukaran std::stoi dan lain-lain.
Penyelesaian:
Penyelesaian yang mungkin adalah untuk mengubah suai fail pengepala GSL. Alih keluar makro !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINF) daripada baris 2754 .../lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h. Selain itu, tambahkan makro kembali di sekitar baris 2905 hingga 2965, yang merujuk std::vswprintf.
Implikasi:
Penyelesaian ini melumpuhkan fungsi std::to_wstring tetapi membenarkan penggunaan fungsi penukaran lain. Ambil perhatian bahawa ini adalah pengubahsuaian bukan standard dan mungkin mempunyai akibat yang tidak dijangka.
Atas ialah kandungan terperinci Mengapakah `std::stoi` Hilang dalam MinGW? Tinjauan Masalah Asas dan Kemungkinan Penyelesaian.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!