Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar std::__cxx11::string kepada std::string dalam C 11?
Dalam C , apabila menggunakan C 11 bersama perpustakaan yang tidak dikonfigurasikan untuk standard, penukaran jenis menjadi perlu . Khususnya, menukar std::__cxx11::string kepada std::string selalunya diperlukan.
Pernyataan Masalah:
Sebelum ini, percubaan untuk melakukan penukaran ini menggunakan binaan seperti (rentetan) telah gagal, membawa kepada ralat pemaut yang serupa kepada:
undefined reference to `H5::CompType::insertMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, H5::DataType const&) const'
Penyelesaian:
Isu ini mungkin timbul apabila menggunakan GCC 5 dan cuba memautkan fail objek yang disusun dengan nilai berbeza untuk makro _GLIBCXX_USE_CXX11_ABI. Untuk menyelesaikan masalah ini, takrifkan semula makro seperti berikut:
#define _GLIBCXX_USE_CXX11_ABI 0
Letakkan takrifan ini sebelum sebarang kemasukan pengepala perpustakaan standard dalam kod anda.
Atas ialah kandungan terperinci Bagaimana untuk Menukar std::__cxx11::string kepada std::string dalam C 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!