我想編譯提供給我的程序。我在Makefile注意到它運行的命令pthread庫包含在(鏈接?)步驟
g++ -o test [...] -lpthread
我注意到pthread庫文件是/lib/libpthread.so.0,但是當我試圖讓目標,它給了我這個錯誤:
/usr/bin/ld: cannot find -lpthread
collect2: ld returned 1 exit status
我該如何解決這個問題?
我想編譯提供給我的程序。我在Makefile注意到它運行的命令pthread庫包含在(鏈接?)步驟
g++ -o test [...] -lpthread
我注意到pthread庫文件是/lib/libpthread.so.0,但是當我試圖讓目標,它給了我這個錯誤:
/usr/bin/ld: cannot find -lpthread
collect2: ld returned 1 exit status
我該如何解決這個問題?
爲了使用-lpthread
,您需要一個libpthread.a
庫存檔,這是用於靜態鏈接的。 libpthread.so.0
是一個共享對象,意味着它用於動態鏈接。請參閱GCC Link Options
可能不會解決您的問題,但您應該使用'-pthread'而不是'-lpthread'。 – Mat
'-Wl, - verbose'選項會告訴你GCC在哪裏尋找庫,這可能會幫助你找出爲什麼它找不到它。有關更多詳細信息,請參閱http://stackoverflow.com/a/11481258/12711。 –