編譯linux多執行緒最簡單的乙個例子時,編譯時出現如下錯誤
undefined reference to 'pthread_create'
undefined reference to 'pthread_join'
用man命令檢視pthread_create和pthread_join方法時,確實只用包括標頭檔案pthread.h即可
原因:pthread 庫不是 linux 系統預設的庫,連線時需要使用靜態庫 libpthread.a,所以在使用pthread_create()建立執行緒,以及呼叫 pthread_join()等待執行緒時,需要鏈結該庫。
問題解決:
在編譯中要加 -lpthread引數
gcc test -o thread_test.c -lpthread
ios工程引用,靜態庫相關
首先了解一下靜態庫 1.靜態函式庫 這類庫的名字一般是lib a 利用靜態函式庫編譯成的檔案比較大,因為整個 函式庫的所有資料都會被整合進目標 中,他的優點就顯而易見了,即編譯後的執行程式不需要外部的函式庫支援,因為所有使用的函式都已經被編譯進去了。當然這也會成為他的缺點,因為如果靜態函式庫改變了,...
live555 靜態庫引用順序
live555一般都是編譯成靜態的庫,但是引用的時候需要注意他的順序。如果引用的庫正確而順序不正確會出現找不到函式的錯誤。正確的引用順序是 liblivemedia.a libbasicusageenvironment.a libgroupsock.a libusageenvironment.a l...
windows下通過cgo引用靜態庫
結論 windows下引用.lib形式的靜態庫是不可以的。在go build的時候,會出現 command line arguments warning corrupt drectve at end of def file錯誤。在執行的時候,會出現segmentation fault錯誤。補充 wi...