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
381 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!

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