[问题] 如何得知所有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