Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyelesaikan Ralat Penyambung Apabila Menggunakan `percubaan::sistem fail` dalam GCC?

Bagaimana untuk Menyelesaikan Ralat Penyambung Apabila Menggunakan `percubaan::sistem fail` dalam GCC?

Linda Hamilton
Linda Hamiltonasal
2024-11-15 14:07:02612semak imbas

How to Resolve Linker Errors When Using  `experimental::filesystem` in GCC?

Membetulkan Ralat Penyambung untuk eksperimen::sistem fail

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()'

Perbezaan antara Filesystem TS dan C 1z

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.

Memaut dengan Perpustakaan TS Sistem Fail

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.

Kemas kini pada Sokongan Sistem Fail dalam GCC

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn