Apabila cuba menggunakan ciri C 1z terkini dengan GCC 6.0, terutamanya dengan perpustakaan eksperimen::sistem fail, anda boleh menghadapi ralat pemaut seperti ini:
undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
Adalah penting untuk ambil perhatian bahawa Filesystem TS (Spesifikasi Teknikal) bukan sebahagian daripada C 1z ( kini C 20) standard. Oleh itu, ralat tidak berkaitan dengan sokongan C 1z tetapi untuk memautkan dengan pustaka yang sesuai.
Untuk menyelesaikan isu, pautkan kod anda dengan pustaka statik - lstdc fs. Ini akan menyediakan pelaksanaan yang diperlukan untuk ciri::sistem fail percubaan. Ingat untuk meletakkannya selepas sebarang objek yang bergantung padanya dalam arahan pemaut.
November 2017:
GCC 8.x memperkenalkan perpustakaan Sistem Fail yang mematuhi C 17 di bawah ruang nama std::sistem fail. Ia memerlukan kedua-dua -std=gnu 17 dan -lstdc fs untuk penggunaan.
Januari 2019:
GCC 9 membenarkan penggunaan std::komponen sistem fail tanpa -lstdc fs.
April 2024:
GCC 13.3 mempersembahkan eksperimen:: simbol sistem fail dalam -lstdc exp, bersama definisi percubaan lain.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Penyambung Apabila Menggunakan `percubaan::sistem fail` dalam GCC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!