Re: [問題] 想請問Unix Network Programming一書的 …

看板LinuxDev作者 (躂躂..)時間17年前 (2008/04/02 00:49), 編輯推噓4(406)
留言10則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《king19880326 (OK的啦~我都可以接受)》之銘言: : test_unix_programming.c:(.text+0xed): undefined reference to : `pthread_sigmask' : 可是我去看 apue.h 裡面 ,都有這些函式 在C/C++, definition 與 declaration 是不同的東西, 你說的 apue.h 是指 declaration, 而錯誤訊息是說你少了 definition.. : 不知道是那裡出現了問題 : 希望各位大大指點一下 告訴我該怎麼樣才能使用apue.h @@ : 感謝大家<(_ _)> 所以你編譯時應該要告訴linker你要與 pthread library 連結, 這類的問題通常是加入 -l 參數來指定要與哪個 library 連結, 不過連結 pthread 應該要用哪個參數, man gcc 搜 pthread, 應該會找到一些說明.. 可能是加上 -pthreads、-pthread或 -lpthread 之類的參數.. 你man man看吧 .__." -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.138.126

04/02 00:54, , 1F
那我編譯後的函式庫應該是在哪邊呢??
04/02 00:54, 1F

04/02 00:59, , 2F
從錯誤訊息只看得出來你正在編一個測試程式 @@
04/02 00:59, 2F

04/02 00:59, , 3F
你把程式庫編到哪去了..要問施主你自己呀 .__.
04/02 00:59, 3F

04/02 01:00, , 4F
看看有沒有 README或 INSTALL 之類的說明檔吧 @.@
04/02 01:00, 4F

04/02 01:54, , 5F
如何能夠使gcc 自動找到我的函式庫而不用多加參數呢?
04/02 01:54, 5F

04/02 09:26, , 6F
看你是編靜態還是動態的library囉,可以使用
04/02 09:26, 6F

04/02 09:26, , 7F
ldd /path/to/your/program 來知道函式庫位置,若沒有任
04/02 09:26, 7F

04/02 09:27, , 8F
何函式庫就應該是靜態的函式庫(預設都是動態的樣子)
04/02 09:27, 8F

04/02 09:28, , 9F
一定要加-lm之類的參數,明確要求linker去link什麼東西
04/02 09:28, 9F

04/06 11:10, , 10F
感謝@@
04/06 11:10, 10F
文章代碼(AID): #17ycUCo6 (LinuxDev)
文章代碼(AID): #17ycUCo6 (LinuxDev)