Maison > développement back-end > C++ > Pourquoi mon code g std::thread ne parvient-il pas à se lier sous Linux et comment puis-je y remédier ?

Pourquoi mon code g std::thread ne parvient-il pas à se lier sous Linux et comment puis-je y remédier ?

Linda Hamilton
Libérer: 2024-11-29 16:00:15
original
930 Les gens l'ont consulté

Why Does My g   std::thread Code Fail to Link on Linux, and How Can I Fix It?

Options de liaison pour std::thread dans GCC sous Linux

Vous rencontrez une erreur « terminer appelé » lors de la tentative d'exécution du code std::thread dans G ? Examinons le problème.

Le code fourni utilise std::thread, qui est généralement implémenté à l'aide de pthreads sous Linux. Pour résoudre le problème de liaison, l'option du compilateur -pthread est nécessaire. Cette option indique au compilateur de créer un lien avec la bibliothèque pthreads.

Essentiellement, l'option -pthread doit être placée après les fichiers sources pour garantir une liaison appropriée :

g++ -std=c++0x test.cpp -pthread
Copier après la connexion

Cela demandera au compilateur de lier le programme à la bibliothèque pthreads, permettant l'utilisation de std :: thread. Sans cette option, l'éditeur de liens ne parviendra pas à trouver les symboles nécessaires dans la bibliothèque pthreads, ce qui entraînera l'erreur observée.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal