Linux 編譯報錯 undefined reference to `pthread_create'
阿新 • • 發佈:2019-01-21
在編譯Linux下多執行緒程式的時候出現錯誤資訊,
寫好程式碼,進行編譯時,出現如下錯誤提示資訊:
錯誤原因: pthread 庫不是 Linux 系統預設的庫,連線時需要使用靜態庫 libpthread.a,所以在使用pthread_create()建立執行緒,以及呼叫 pthread_atfork()函式建立fork處理程式時,需要連結該庫。
解決之道:在編譯中要加
-lpthread引數,類似於在使用是的引數 -lm.
gcc
thread.c -lpthread
thread.c為原始檔,不要忘了加上標頭檔案#include
|
錯誤原因: pthread 庫不是 Linux 系統預設的庫,連線時需要使用靜態庫 libpthread.a,所以在使用pthread_create()建立執行緒,以及呼叫 pthread_atfork()函式建立fork處理程式時,需要連結該庫。
這段時間一直在實習,也沒時間寫部落格了。最近在看《現代作業系統》這本書,爭取在12月份中旬之前看完此書。