如何得知所有LIBRARY的連結 - Linux

Table of Contents

使用GCC寫C時,需要用math.h

所以編譯時GCC指令需要加入 -lm,才能夠連結到math.h

突然想到如何得知所有library的連結方式和位置

這樣可以先尋找出library,並加以連結

謝謝

--

All Comments

Oliver avatarOliver2014-10-04
你可以在gcc編譯時加上-v它就會跑出它是怎麼編的
Skylar DavisLinda avatarSkylar DavisLinda2014-10-08
你就可以看到它怎麼呼叫像ld和collect2做連結
Liam avatarLiam2014-10-09
一般 unix 的 math library 都是放在libm.xxxx 裡面
George avatarGeorge2014-10-12
所以你要使用得自己用 -lm 指定連結使用 libm
Delia avatarDelia2014-10-14
不同的程式庫提供不同的檔案,有些程式庫提供太多
可以連結的檔案,比方 glib,ncurses 等項目他們都提供
額外工具提供呼叫提供資訊。比方 ncurses 的話
Delia avatarDelia2014-10-15
有個 ncurses5-config 可以呼叫執行使用
ncurses5-config --libs 就可以所需要的結果
Lucy avatarLucy2014-10-17
ex: gcc $(ncureses5-config --libs) xxxx.c 這樣用
Hedy avatarHedy2014-10-17
有很多 library 可以用 pkg-config 查
pkg-config --libs 名稱
Necoo avatarNecoo2014-10-19
簡單來說,RTFM