Heim >Backend-Entwicklung >C++ >Warum wirft mein Multithread-Code auch mit „-pthread' immer noch „std::system_error' aus?
Kompilieren von Multithread-Code mit g: 'std::system_error' behoben
Beim Kompilieren von Multithread-Code ist der Fehler „std::system_error“ aufgetreten mit g kann frustrierend sein. Trotz expliziter Angabe des Flags „-pthread“ besteht das Problem weiterhin.
Bei der Untersuchung des bereitgestellten Codes scheint es kein offensichtliches Problem zu geben. Das Problem entsteht jedoch durch einen Fehler in gcc. Die von einem Mitglied des SO C-Chats bereitgestellte Problemumgehung bietet eine Lösung:
-Wl,--no-as-needed
Wenn dieses Flag dem Kompilierungsbefehl hinzugefügt wird, behebt es das Problem und ermöglicht die erfolgreiche Kompilierung und Ausführung des Multithread-Codes. Der aktualisierte Kompilierungsbefehl wäre:
$ g++ main.cpp -o main.out -pthread -std=c++11 -Wl,--no-as-needed
Das obige ist der detaillierte Inhalt vonWarum wirft mein Multithread-Code auch mit „-pthread' immer noch „std::system_error' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!