Rumah > pembangunan bahagian belakang > C++ > Mengapakah dentang dengan libc dalam mod c 0x gagal memautkan contoh rangsangan::program_options ini?

Mengapakah dentang dengan libc dalam mod c 0x gagal memautkan contoh rangsangan::program_options ini?

Patricia Arquette
Lepaskan: 2024-11-03 13:43:30
asal
351 orang telah melayarinya

Why does clang with libc   in c  0x mode fail to link this boost::program_options example?

Mengapa tidak berdenting dengan libc dalam mod c 0x memautkan contoh rangsangan::program_options ini?

Menyusun contoh program yang melibatkan rangsangan::program_options dengan denting menggunakan libc dan mod c 0x menghasilkan ralat simbol yang tidak ditentukan. Walau bagaimanapun, kod yang sama menyusun dan memaut dengan jayanya menggunakan g -mp-4.7 atau clang tanpa libc .

Isunya

Isu timbul daripada ketidakserasian boost::program_options, yang dibina menggunakan libstdc , dengan libc . Untuk mengelakkan pencampuran tidak sengaja perpustakaan standard yang tidak serasi dan memastikan keserasian binari, libc menggunakan ciri C 11 yang dipanggil "ruang nama sebaris." Ini menukar Antara Muka Perduaan Aplikasi (ABI) std::string tanpa menjejaskan Antara Muka Pengaturcaraan Aplikasi (API).

Penyelesaian

Untuk menyelesaikan isu keserasian ini, bina semula rangsangan menggunakan denting dengan -stdlib=libc flag:

clang++ -stdlib=libc++
Salin selepas log masuk

Tindakan ini akan membina semula rangsangan dengan libc dan mengelakkan konflik simbol yang timbul daripada menggunakan perpustakaan standard yang tidak serasi.

Atas ialah kandungan terperinci Mengapakah dentang dengan libc dalam mod c 0x gagal memautkan contoh rangsangan::program_options ini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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