1. 程式人生 > >【C】‘pthread_join’未定義的引用的解決

【C】‘pthread_join’未定義的引用的解決

‘pthread_join’未定義的引用的解決

/tmp/ccl74XYt.o:在函式‘main’中:

jiandanshuangxiancheng.c:(.text+0x2e):對‘pthread_create’未定義的引用
jiandanshuangxiancheng.c:(.text+0x49):對‘pthread_create’未定義的引用
jiandanshuangxiancheng.c:
(.text+0x5a):對‘pthread_join’未定義的引用 jiandanshuangxiancheng.c:(.text+0x6b):對‘pthread_join’未定義的引用

解決辦法…
pthread編譯時報錯的解決方法
最近在學習C,今天編譯的時候報如下錯誤:
/tmp/ccXH8mJy.o:在函式‘main’中:

jiandanshuangxiancheng.c:(.text+0x2e):對‘pthread_create’未定義的引用
jiandanshuangxiancheng.c:(.text+0x49):對‘pthread_create’未定義的引用
jiandanshuangxiancheng.c:
(.text+0x5a):對‘pthread_join’未定義的引用 jiandanshuangxiancheng.c:(.text+0x6b):對‘pthread_join’未定義的引用

百度了一下,在gcc編譯的時候應該加上 -pthread 選項
後來看同事,使用 -lpthread也可以..C還是挺有意思

gcc編譯自定義編譯後的檔名filename

gcc -o filename xxx.c -pthread

xxx.c 需要編譯的.c檔案
或者

gcc xxx.c -o filename -pthread

下面這個也是無意間看同事使用的.

因為當時啟了雙執行緒,所以使用-pthread.不使用執行緒不需要使用