Maison > Article > développement back-end > Pourquoi g lance-t-il \"Activer le multithreading pour utiliser std::thread : opération non autorisée\" et comment y remédier ?
Compilation de code multithread avec g : Dépannage et implémentation d'une solution de contournement
Malgré l'indicateur -pthread nécessaire pour la liaison avec la bibliothèque de threads POSIX, vous pouvez rencontrer une erreur lors de la compilation de code multithread avec g . Le message d'erreur « Activer le multithreading pour utiliser std::thread : opération non autorisée » indique que la fonctionnalité multithreading est désactivée dans votre configuration actuelle.
Pour résoudre ce problème, une solution de contournement proposée dans une discussion de bug pertinente consiste à ajouter le -Wl,--indicateur non nécessaire à votre commande de compilation. Cet indicateur indique à l'éditeur de liens de ne pas effectuer de résolution automatique des dépendances, ce qui peut aider à résoudre le conflit avec la bibliothèque de threads POSIX fournie par le système :
g++ main.cpp -o main.out -pthread -std=c++11 -Wl,--no-as-needed
En implémentant cette solution de contournement, vous devriez pouvoir compiler et exécuter avec succès votre code multithread en utilisant g .
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!