Rumah > pembangunan bahagian belakang > C++ > 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
Lepaskan: 2024-11-15 14:07:02
asal
737 orang telah melayarinya

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()'
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan