使用g 編譯多線程代碼:故障排除和實現解決方法
儘管包含必要的-pthread 標誌來鏈接POSIX 線程庫,使用g 編譯多執行緒程式碼時可能會遇到錯誤。錯誤訊息「啟用多執行緒以使用 std::thread: 不允許操作」表示目前配置中停用了多執行緒功能。
為了解決此問題,相關錯誤討論中提出的解決方法包括添加-Wl,--no-as-needed 標記到您的編譯命令。此標誌指示連結器不執行自動依賴性解析,這可以幫助解決與系統提供的POSIX 執行緒庫的衝突:
g++ main.cpp -o main.out -pthread -std=c++11 -Wl,--no-as-needed
透過實作此解決方法,您應該能夠成功編譯並執行使用g的多線程程式碼。
以上是為什麼 g 拋出'啟用多線程以使用 std::thread: 不允許操作”以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!