Linux qt 下 动态链接库创建问题

qt中动态链接库叫共享库。
我使用的qt为 qt-4.8.6-arm

创建

按照教程linux Qt 动态库制作以及使用方法写动态链接库时 ,会产生三个软连接和一个实体
libtestDll.so.1.0.0共享库文件和libtestDll.so、libtestDll.so.1、libtestDll.so.1.0这三个软链接。

Linux qt 下 动态链接库创建问题_第1张图片

在调用动态链接库时,拷贝libtestDll.so 拷贝不走,只能拷贝libtestDll.so.1.0.0 在这种情况下可以在测试程序中创建软连接到testDll的输出中,但这样在拷贝到arm板子上时容易出现问题,说是找不到libtestDll.so.1

最后我的解决办法是:

testDll.pro中添加 CONFIG += plugin 这样的话,就只能生成libtestDll.so,这样就比较符合要求呢。
然后调用的时候直接.so就可以,在我的系统下,将libtestDll.so 拷贝到/opt/arm/lib
.h和global.h就放在对应的include中

编译调用动态链接库的程序,将二进制文件和libtestDll.so 下载到arm板子上

二进制文件放/opt/中
libtestDll.so 放在/opt/arm/lib 然后就可以拉

【其他解决办法】

添加链接描述

调用

Linux下运行时调用动态链接库.so的三种方法(笔记)

动态链接库后面数字代表的涵义

Linux qt 下 动态链接库创建问题_第2张图片
Linux动态链接库.so文件的命名及用途总结

创建软连接

ln -s libtestDll.so.1.0.0  libtestDll.so.1.0
ln -s libtestDll.so.1.0.0  libtestDll.so.1
ln -s libtestDll.so.1.0.0  libtestDll.so

你可能感兴趣的:(Linux qt 下 动态链接库创建问题)