Apt
apt 包 - 靜態庫與動態庫
我使用 Ubuntu 18.04。我使用 apt 安裝庫,例如:
sudo apt install freeglut3-dev
apt 是否總是安裝動態庫,或者我可以確定一個包是包含靜態庫還是動態庫?
按照慣例:
libfoo1
將包含一個動態庫,同時libfoo-dev
將創建標題和靜態庫。
libfoo1
只是執行時依賴,動態庫是執行時依賴。
libfoo-dev
是建構依賴項,靜態庫僅在建構/連結期間使用。如果您想知道庫中的內容,可以使用
dpkg
查看已安裝包中的內容:$ dpkg -L libfoo1 /usr/lib/x86_64-linux-gnu/libfoo.so.1.0.0 /usr/share/doc/libfoo1/changelog.gz /usr/share/doc/libfoo1/copywrite /usr/lib/x86_64-linux-gnu/libfoo.so.1
如果沒有安裝包,可以使用
apt-file
命令,但是需要最近使用apt update
過的文件列表來獲取。$ apt-file list libfoo-dev libfoo-dev: /usr/include/foo.h libfoo-dev: /usr/lib/x86_64-linux-gnu/libfoo.a libfoo-dev: /usr/lib/x86_64-linux-gnu/libfoo.so
libfoo.so
(inlibfoo-dev
) 實際上只是到libfoo.so.1
(inlibfoo1
) 的符號連結,它本身就是到libfoo.so.1.0.0
(also inlibfoo1
) 的符號連結。