linux下的动态链接库(DLL)

一、公约

1. 库的命名习惯

一个linux DLL 有三个不同名字的文件组成

soname 文件

lib + 链接库名字 + .so + .版本号

每当链接库接口改变时都递增版本号。soname 文件其实只是一个符号链接而已,指向他的real name 文件。

real name 文件

lib + 链接库名字 + .so + .版本号.次版本号.发行号

发行号是可选的。该文件包含实际代码。

linker name 文件

lib + 链接库名字 + .so

编译器以这个名字来请求指定的链接库。

如何创建 deb 软件包

摘录自 creating and distributing deb files written by Andrew Min

创建一个 deb 软件包有多种方式:

1. 使用 CheckInstall
asic-linux.com.mx/~izto/checkinstall/
最简单也是最糟糕的一种方式。你要做就是运行 make 编译源代码,然后运行 checkinstall 创建 deb 软件包。但是这种方式不会安装依赖也不允许你声明依赖。所以用户必须手动安装依赖。
AutoApt%nbsp%nbsp help.ubuntu.com/community/AutoApt
和 AutoDeb%nbsp%nbsp wiki.ubuntu.com/AutoDeb
可能可以解决依赖问题,但他们现在还是带有实验性质的。
关于 checkinstall 的教程:
help.ubuntu.com/community/CheckInstall

2. 使用 Debian Package Tools FE
url.fullcirclemagazine.org/927dc1
一个基于 Qt 的带界面的工具,比 checkinstall 好,但也不是很理想。

3. 手动创建软件包