apt 包 - 静态库与动态库

apt 包 - 静态库与动态库

我使用Ubuntu 18.04。我使用 apt 安装库,例如:

sudo apt install freeglut3-dev

apt 是否总是安装动态库,或者我可以确定包是否包含静态库或动态库?

答案1

按照惯例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(in libfoo-dev) 实际上只是 (in ) 的符号链接,而libfoo.so.1(in ) 本身也是 (也在)libfoo1的符号链接。libfoo.so.1.0.0libfoo1

相关内容