使用GCC寫C時,需要用math.h
所以編譯時GCC指令需要加入 -lm,才能夠連結到math.h
突然想到如何得知所有library的連結方式和位置
這樣可以先尋找出library,並加以連結
謝謝
一般 unix 的 math library 都是放在libm.xxxx 裡面所以你要使用得自己用 -lm 指定連結使用 libm不同的程式庫提供不同的檔案,有些程式庫提供太多可以連結的檔案,比方 glib,ncurses 等項目他們都提供額外工具提供呼叫提供資訊。比方 ncurses 的話有個 ncurses5-config 可以呼叫執行使用ncurses5-config --libs 就可以所需要的結果ex: gcc $(ncureses5-config --libs) xxxx.c 這樣用
你可以在gcc編譯時加上-v它就會跑出它是怎麼編的你就可以看到它怎麼呼叫像ld和collect2做連結
一般 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
一般 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
一般 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
一般 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