Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah saya mendapat ralat pemaut apabila menggunakan perpustakaan::sistem fail dalam GCC 6.0?

Mengapakah saya mendapat ralat pemaut apabila menggunakan perpustakaan::sistem fail dalam GCC 6.0?

Barbara Streisand
Barbara Streisandasal
2024-11-15 10:41:02952semak imbas

Why am I getting linker errors when using the experimental::filesystem library in GCC 6.0?

Ralat Penyambung dengan eksperimen::sistem fail

Apabila cuba melaksanakan ciri C 1z menggunakan perpustakaan::sistem fail eksperimen dalam GCC 6.0, pengguna mungkin menghadapi ralat pemaut. Mesej ralat menunjukkan rujukan yang tidak ditentukan kepada std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts().

Sebab:

TS Sistem Fail bukan sebahagian daripada C 1z tetapi spesifikasi yang berasingan. Pelaksanaan pustaka ini oleh GCC tersedia dalam mod C 11.

Penyelesaian:

Untuk menyelesaikan isu ini, pautkan dengan -lstdc fs. Pustaka libstdc fs.a mesti datang selepas objek yang bergantung padanya dalam arahan pemaut.

Kemas kini:

  • November 2017: GCC 8.x melaksanakan perpustakaan Sistem Fail C 17 dalam ruang nama std::filesystem. Pustaka ini boleh digunakan dengan -std=gnu 17 atau -std=c 17 dan masih memerlukan pemautan dengan -lstdc fs.
  • Januari 2019: GCC 9 dan seterusnya membenarkan penggunaan std: :komponen sistem fail tanpa -lstdc fs.
  • April 2024: GCC 13.3 menambahkan std::experimental::simbol sistem fail pada -lstdc exp.

Atas ialah kandungan terperinci Mengapakah saya mendapat ralat pemaut apabila menggunakan perpustakaan::sistem fail dalam GCC 6.0?. 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