linux下用QLibrary载入动态库

在win下用QLibrary 载入动态库并不难,代码如下

cpp 复制代码
QString strDll = "defineLib.dll";
QLibrary* pLibrary = new QLibrary(strDll);
if (pLibrary->load())
{
   ///成功
}
else
{
   ///失败
}

在做代码移植到Ubuntu上的时候把dll改成so,但是发现,动态库都不能载入了。代码如下。

cpp 复制代码
QString strDll = "libdefineLib.so";
QLibrary* pLibrary = new QLibrary(strDll);
if (pLibrary->load())
{
   ///成功
}
else
{
   ///失败
}

测试动态库也是用Qt Creator生成的,也放到运行路径下了。想不明白,只能用绝对路径了,但是代码增加了一些,总感觉不太好。

后来突然想起来,Linux下都是用"./a.out" 运行程序的。加上这个试试吧。没想到竟然成功了。

cpp 复制代码
QString strDll = "./libdefineLib.so";
QLibrary* pLibrary = new QLibrary(strDll);
if (pLibrary->load())
{
   ///成功
}
else
{
   ///失败
}

期间还犯了一个错误,代码里面的动态库名称大小写没写对,导致无法载入动态库,这个也是要注意的。

相关推荐
Zhang~Ling1 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind1 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森1 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
XMAIPC_Robot2 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
mabing9933 小时前
Qt 生成条纹图
开发语言·qt
重生的黑客3 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice
Fu_Lin_3 小时前
Qt 嵌入式从零基础到精通总纲
开发语言·qt·嵌入式·qt嵌入式
骑上单车去旅行4 小时前
MD5校验对比脚本
linux·服务器·windows
平生幻4 小时前
Linux 常用命令
linux
茯苓gao5 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习