Maison  >  Article  >  développement back-end  >  Pourquoi ne peut-on pas lier la libc en mode C 0x à cet exemple boost::program_options ?

Pourquoi ne peut-on pas lier la libc en mode C 0x à cet exemple boost::program_options ?

DDD
DDDoriginal
2024-11-03 04:41:30617parcourir

Why can't clang   with libc   in C  0x mode link this boost::program_options example?

Lien Boost::Program_Options avec Clang et Libc en mode C 0x

Q : Pourquoi ne peut-on pas Clang avec libc en mode C 0x lier ce boost ::exemple de program_options ?

Le problème signalé survient lors de la tentative de compilation et de liaison d'un échantillon Exemple boost::program_options avec clang et libc en mode C 0x. La compilation réussit, mais la liaison rencontre plusieurs symboles non définis conduisant à une erreur de l'éditeur de liens.

A : Reconstruire Boost avec Clang et Libc

Pour résoudre ce problème, il est nécessaire pour reconstruire les bibliothèques boost en utilisant clang avec la bibliothèque standard libc. Les étapes suivantes décrivent le processus :

  1. Désinstaller Boost existant : Supprimez toutes les bibliothèques Boost précédemment installées pour éviter les conflits.
  2. Télécharger la source Boost : Obtenez le code source d'une version récente de Boost sur le site officiel (par exemple, boost.org).
  3. Configurer Boost : Exécutez la commande suivante pour configurer Boost pour la construction avec clang et libc :
./b2 toolset=clangcxx --with-libraries=program_options \
  --with-cflags="-stdlib=libc++" --with-ldflags="-stdlib=libc++"
  1. Construire et installer Boost : Utilisez la commande suivante pour créer et installer Boost bibliothèques :
./b2 install

Après avoir reconstruit Boost avec libc , la recompilation et la liaison de l'exemple boost::program_options utilisant clang avec la bibliothèque standard libc devraient réussir sans les erreurs de symboles non définies précédemment rencontrées.

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