动态库命名:lib+ 名称 + .so
静态库命名:lib+ 名称 + .a
(接静态库)
1.生成与位置无关的obj文件
2.生成共享库 移动 到 lib中
3.测试
同样也可以使用这种方式:(避免和静态库重复二义)
方式1.这种方式要配置 将 动态库移动到 /lib中(不推荐)
方式2.将动态库 放到 LD_LIBRARY_PATH中
export LD_LIBRARY_PATH=./lib
这个是临时的测试导入到环境中。
如果要永久设置,可以在bash中更改
然后将上述配置命令 输入保存到 bashrc中
方式3.找到动态链接器的配置文件中,将动态库的路径写入配置文件,然后更新(sudo ldconfig -v)
/etc/ld.so.conf
将动态库的绝对路径配置到这里
ldd 是查看可执行程序依赖的库
优点:
可执行程序体积小,动态库更新时,不需要重新编译
缺点:
发布程序时,要将动态库提供,加载速度慢于静态库。