[問題] 如何得知所有LIBRARY的連結

作者: linbanden (冷板凳)   2014-09-30 16:28:08
使用GCC寫C時,需要用math.h
所以編譯時GCC指令需要加入 -lm,才能夠連結到math.h
突然想到如何得知所有library的連結方式和位置
這樣可以先尋找出library,並加以連結
謝謝
作者: kenduest (小州)   0000-00-00 00:00:00
一般 unix 的 math library 都是放在libm.xxxx 裡面所以你要使用得自己用 -lm 指定連結使用 libm不同的程式庫提供不同的檔案,有些程式庫提供太多可以連結的檔案,比方 glib,ncurses 等項目他們都提供額外工具提供呼叫提供資訊。比方 ncurses 的話有個 ncurses5-config 可以呼叫執行使用ncurses5-config --libs 就可以所需要的結果ex: gcc $(ncureses5-config --libs) xxxx.c 這樣用
作者: dododavid006 (朔雪)   2014-09-30 17:11:00
你可以在gcc編譯時加上-v它就會跑出它是怎麼編的你就可以看到它怎麼呼叫像ld和collect2做連結
作者: kenduest (小州)   0000-00-00 00:00:00
一般 unix 的 math library 都是放在libm.xxxx 裡面所以你要使用得自己用 -lm 指定連結使用 libm不同的程式庫提供不同的檔案,有些程式庫提供太多可以連結的檔案,比方 glib,ncurses 等項目他們都提供額外工具提供呼叫提供資訊。比方 ncurses 的話有個 ncurses5-config 可以呼叫執行使用ncurses5-config --libs 就可以所需要的結果ex: gcc $(ncureses5-config --libs) xxxx.c 這樣用
作者: lantw44 (#######################)   0000-00-00 00:00:00
有很多 library 可以用 pkg-config 查pkg-config --libs 名稱
作者: carylorrk (carylorrk)   0000-00-00 00:00:00
簡單來說,RTFM
作者: kenduest (小州)   0000-00-00 00:00:00
一般 unix 的 math library 都是放在libm.xxxx 裡面所以你要使用得自己用 -lm 指定連結使用 libm不同的程式庫提供不同的檔案,有些程式庫提供太多可以連結的檔案,比方 glib,ncurses 等項目他們都提供額外工具提供呼叫提供資訊。比方 ncurses 的話有個 ncurses5-config 可以呼叫執行使用ncurses5-config --libs 就可以所需要的結果ex: gcc $(ncureses5-config --libs) xxxx.c 這樣用
作者: lantw44 (#######################)   0000-00-00 00:00:00
有很多 library 可以用 pkg-config 查pkg-config --libs 名稱
作者: carylorrk (carylorrk)   0000-00-00 00:00:00
簡單來說,RTFM
作者: kenduest (小州)   0000-00-00 00:00:00
一般 unix 的 math library 都是放在libm.xxxx 裡面所以你要使用得自己用 -lm 指定連結使用 libm不同的程式庫提供不同的檔案,有些程式庫提供太多可以連結的檔案,比方 glib,ncurses 等項目他們都提供額外工具提供呼叫提供資訊。比方 ncurses 的話有個 ncurses5-config 可以呼叫執行使用ncurses5-config --libs 就可以所需要的結果ex: gcc $(ncureses5-config --libs) xxxx.c 這樣用
作者: lantw44 (#######################)   0000-00-00 00:00:00
有很多 library 可以用 pkg-config 查pkg-config --libs 名稱
作者: carylorrk (carylorrk)   0000-00-00 00:00:00
簡單來說,RTFM
作者: kenduest (小州)   2014-10-01 15:53:00
一般 unix 的 math library 都是放在libm.xxxx 裡面所以你要使用得自己用 -lm 指定連結使用 libm不同的程式庫提供不同的檔案,有些程式庫提供太多可以連結的檔案,比方 glib,ncurses 等項目他們都提供額外工具提供呼叫提供資訊。比方 ncurses 的話有個 ncurses5-config 可以呼叫執行使用ncurses5-config --libs 就可以所需要的結果ex: gcc $(ncureses5-config --libs) xxxx.c 這樣用
作者: lantw44 (#######################)   2014-10-01 21:25:00
有很多 library 可以用 pkg-config 查pkg-config --libs 名稱
作者: carylorrk (carylorrk)   2014-10-02 17:20:00
簡單來說,RTFM

Links booklink

Contact Us: admin [ a t ] ucptt.com