6-Qt5创建C++动态库DLL
为提高代码复用性,实现模块化开发,我们通常会对一些常用函数进行封装,通过调用共享库库的方法实现,Qt自身便能构建共享库,本教程以构建动态链接库为例进行讲解。
1. Qt新建共享库工程
新建工程,选择动态库,命名为DynamicLibrary
,实现一个简单的方法(method):int test()
int test()
{
qDebug()<<"Hello, Qt5!"<<endl;
int sum=0;
for (int i=1; i<=100; i++) {
sum = sum + i;
}
qDebug() << sum << endl;
return sum;
}
可以知道编译输出命令为:
g++ -shared -Wl,-subsystem,windows -mthreads -Wl,--out-implib,debug\libDynamicLibrary.a -o debug\DynamicLibrary.dll debug/dynamiclibrary.o D:\Applications\Qt5.12.4\5.12.4\mingw73_64\lib\libQt5Cored.a
得到共享库DynamicLibrary.dll
,
2. Qt调用动态库
-
新建一个控制台工程
LoadDynamic
,用于测试调用前面构建的动态库dll
-
导入相关头文件:复制头文件至工程路径下,接着添加现有文件,
-
链接库:配置pro文件
-
执行可执行文件时需要系统能找到对应的动态链接库,可以将原来生成的动态库拷贝至可执行文件同级目录下
-
ldd
检查依赖库情况
如果小伙伴们对文章内容有不理解的地方可以查看博主精心制作的相对应的视频教程哦: https://www.bilibili.com/video/av63219509