Maison >développement back-end >C++ >Pourquoi est-ce que j'obtiens une « référence non définie à boost::system::system_category() » lors de la compilation ?

Pourquoi est-ce que j'obtiens une « référence non définie à boost::system::system_category() » lors de la compilation ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-12 08:56:01408parcourir

Why Am I Getting

Erreur : référence non définie à boost::system::system_category() lors de la compilation

Lors de la tentative de compilation d'un programme qui utilise les bibliothèques Boost sur Ubuntu 11.10, vous pouvez rencontrer l'erreur suivante :

undefined reference to boost::system::system_category()

Cause première :

L'erreur provient de la dépendance de la bibliothèque spécifique utilisée sur la bibliothèque boost_system, qui n'est pas automatiquement inclus dans le processus de compilation.

Solution :

Pour résoudre ce problème, vous devez spécifier explicitement la bibliothèque boost_system dans la ligne de commande de compilation. En supposant que vous utilisez gcc, modifiez la ligne de commande pour ajouter l'indicateur -lboost_system. Cela demande au compilateur de créer un lien avec la bibliothèque boost_system, rendant ainsi disponibles les dépendances nécessaires.

Exemple :

gcc -lboost_system ... <other compiler flags> ...

En incorporant cette modification, vous vous assurez que le compilateur a accès aux symboles requis à partir de la bibliothèque boost_system, résolvant l'erreur de liaison et permettant une compilation réussie.

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