1. 说明
在使用QT进行插件库的开发之后,还需要将这个插件库程序生成的so动态链接库加载到主程序框架中进行使用,才能达到主程序的模块化开发的效果。在前一篇文章插件创建中介绍了如何在QT中开发插件库,并提供外部接口调用。本篇博客的主要作用是模拟在主程序框架中加载动态库so文件进行使用。
2. 具体步骤
2.1 第一步
首先创建一个普通的QT界面程序,此处命名为loadSoLib,项目结构如下图所示:
在linux系统中加载动态库文件,需要使用dlopen函数和dlsym函数,其中dlopen用于打开指定路径下的so库文件,并返回一个句柄,dlsym根据返回的句柄查找so文件中暴漏在外部的接口函数,并进行调用。
上述两个函数的使用需要引入头文件<dlfcn.h>
打开mainwindow.cpp文件,简单起见,这里直接在MainWindow的构造函数进行库文件的加载,相关代码如下:
void* handle