Maison  >  Article  >  développement back-end  >  Pourquoi Boost :: Program_Options ne parvient-il pas à se lier lors de l'utilisation de Clang avec libc en mode C 0x ?

Pourquoi Boost :: Program_Options ne parvient-il pas à se lier lors de l'utilisation de Clang avec libc en mode C 0x ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 20:08:291054parcourir

Why Does Boost::Program_Options Fail to Link When Using Clang with libc   in C  0x Mode?

Pourquoi boost::program_options ne parvient-il pas à se lier lors de l'utilisation de clang avec libc en mode c 0x ?

Malgré la compilation de boost en utilisant clang avec la bibliothèque libc, le code la liaison échoue lors de l'utilisation de clang en mode c 0x. C'est parce que la libc n'est pas compatible binaire avec la libstdc de gcc. Bien que l'API de std::string reste la même, son ABI est modifiée à l'aide de la fonctionnalité d'espace de noms en ligne de C 11, ce qui amène l'éditeur de liens à traiter std::string et std::__1::basic_string comme des structures de données distinctes. Cela empêche un lien réussi entre le binaire et la bibliothèque.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn