Maison > développement back-end > C++ > Pourquoi mon code multithread renvoie-t-il toujours \'std::system_error\' même avec \'-pthread\' ?

Pourquoi mon code multithread renvoie-t-il toujours \'std::system_error\' même avec \'-pthread\' ?

Susan Sarandon
Libérer: 2024-11-02 09:29:31
original
335 Les gens l'ont consulté

Why Does My Multithreaded Code Still Throw 'std::system_error' Even With '-pthread'?

Compilation de code multithread avec g : 'std::system_error' résolue

Rencontre de l'erreur 'std::system_error' lors de la compilation de code multithread avec g peut être frustrant. Malgré la spécification explicite de l'indicateur « -pthread », le problème persiste.

En examinant le code fourni, il ne semble y avoir aucun problème apparent. Cependant, le problème vient d'un bug dans gcc. La solution de contournement fournie par un membre du chat SO C propose une solution :

-Wl,--no-as-needed
Copier après la connexion

Lorsqu'il est ajouté à la commande de compilation, cet indicateur résout le problème, permettant au code multithread de se compiler et de s'exécuter avec succès. La commande de compilation mise à jour serait :

$ g++ main.cpp -o main.out -pthread -std=c++11 -Wl,--no-as-needed
Copier après la connexion

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!

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