关于制定so动态链接库文件需要注意的问题

来源:互联网 发布:linux建立用户命令 编辑:程序博客网 时间:2024/06/06 05:04

如果需要动态链接制定的so文件,如libtest.so,可以如下操作:

1、假设so文件所在的目录为/usr/local/xxx/lib/libtest.so

2、在makefile文件中链接库时,直接用/usr/local/xxx/lib/libtest.so

3、vi /etc/ld.so.conf,添加一行/usr/local/xxx/lib/

4、执行ldconfig命令

5、需要注意,开发机器和运行机器上必须存在/usr/local/xxx/lib/libtest.so (3,4步开发机和运行机器都要执行)


碰到的其它问题:

error while loading shared libraries: libtest-0.8.1.so: cannot open shared object file: No such file or directory

locate 发现libtest-0.8.1.so存在于指定目录下,这是什么问题呢,列出所有相关文件发现,libtest.so和libtest-0.8.1.so大小一样,软连接的问题?删除libtest.so,执行ln -s libtest-0.8.1.so libtest.so,问题解决(由于这里的so文件都是从开发机拷贝而来,可能软连接没有一并拷贝过来,所以需要自己重新建立下)


这么繁琐?好吧,建议还是用静态链接库,虽然包大点,不会这么麻烦配置环境了~~

0 0
原创粉丝点击