首頁 >後端開發 >C++ >為什麼我的 g std::thread 程式碼無法在 Linux 上鏈接,如何修復?

為什麼我的 g std::thread 程式碼無法在 Linux 上鏈接,如何修復?

Linda Hamilton
Linda Hamilton原創
2024-11-29 16:00:15850瀏覽

Why Does My g   std::thread Code Fail to Link on Linux, and How Can I Fix It?

Linux 上 GCC 中 std::thread 的連結選項

嘗試在 G 中執行 std::thread 程式碼時遇到「終止呼叫」錯誤?讓我們深入研究一下這個問題。

提供的程式碼利用了 std::thread,它通常在 Linux 上使用 pthread 實作。要解決連結問題,需要 -pthread 編譯器選項。此選項通知編譯器連結 pthreads 函式庫。

至關重要的是,-pthread 選項必須放置在原始檔之後,以確保正確連結:

g++ -std=c++0x test.cpp -pthread

這將指示編譯器將程式與pthreads 庫鏈接,從而啟用std::thread。如果沒有此選項,連結器將無法從 pthreads 庫中找到必要的符號,從而導致觀察到的錯誤。

以上是為什麼我的 g std::thread 程式碼無法在 Linux 上鏈接,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn