看板 Linux 關於我們 聯絡資訊
使用GCC寫C時,需要用math.h 所以編譯時GCC指令需要加入 -lm,才能夠連結到math.h 突然想到如何得知所有library的連結方式和位置 這樣可以先尋找出library,並加以連結 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.120.36 ※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1412065690.A.981.html
dododavid006: 你可以在gcc編譯時加上-v它就會跑出它是怎麼編的 09/30 17:11
dododavid006: 你就可以看到它怎麼呼叫像ld和collect2做連結 09/30 17:12
kenduest: 一般 unix 的 math library 都是放在libm.xxxx 裡面 10/01 15:53
kenduest: 所以你要使用得自己用 -lm 指定連結使用 libm 10/01 15:54
kenduest: 不同的程式庫提供不同的檔案,有些程式庫提供太多 10/01 15:57
kenduest: 可以連結的檔案,比方 glib,ncurses 等項目他們都提供 10/01 15:57
kenduest: 額外工具提供呼叫提供資訊。比方 ncurses 的話 10/01 15:57
kenduest: 有個 ncurses5-config 可以呼叫執行使用 10/01 15:59
kenduest: ncurses5-config --libs 就可以所需要的結果 10/01 15:59
kenduest: ex: gcc $(ncureses5-config --libs) xxxx.c 這樣用 10/01 16:01
lantw44: 有很多 library 可以用 pkg-config 查 10/01 21:25
lantw44: pkg-config --libs 名稱 10/01 21:25
carylorrk: 簡單來說,RTFM 10/02 17:20