Qt Creator生成动态库(DLL)并调用,保姆级教程
创作时间:
作者:
@小白创作中心
Qt Creator生成动态库(DLL)并调用,保姆级教程
引用
CSDN
1.
https://blog.csdn.net/mamor/article/details/141676972
本文将详细介绍如何在Qt Creator中生成动态库(DLL)并调用。通过本文,你将学会如何创建一个动态库项目,编写函数,并在另一个项目中调用该动态库。
一、动态库的生成
- 建立库文件
- 修改类型为共享库
- 自定义项目名称和项目路径
- 选择编译器
- 选择动态库所需要的模块
- 自定义类名
- 项目总览
- 编辑头文件
- 将
testdynamiclib_global.h中的内容拷贝到testdynamiclib.h中
- 定义函数
- 在
testdynamiclib.h中定义加减乘除四个函数#ifndef TESTDYNAMICLIB_H #define TESTDYNAMICLIB_H class TestDynamicLib { public: TestDynamicLib(); ~TestDynamicLib(); int add(int a, int b); int subtract(int a, int b); int multiply(int a, int b); int divide(int a, int b); }; #endif // TESTDYNAMICLIB_H
- 实现函数功能
- 在
testdynamiclib.cpp中实现上述函数
- 编译运行
- 右键项目,点击qmake编译运行
- 重新构建
- 右键项目,点击重新构建
- 查看生成的库文件
- 构建成功后,会在build目录的debug文件夹中生成dll和lib库文件
二、动态库的调用
- 新建工程
- 自定义项目名
- 选择编译器
- 自定义类名
- 项目预览
- 复制库文件
- 将生成的
.dll、.lib文件以及testdynamiclib.h复制到新项目中
- 在新项目中使用动态库
- 在
main.cpp中包含testdynamiclib.h,并调用动态库中的函数#include <QCoreApplication> #include "testdynamiclib.h" int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); TestDynamicLib lib; qDebug() << "10 + 5 = " << lib.add(10, 5); qDebug() << "10 - 5 = " << lib.subtract(10, 5); qDebug() << "10 * 5 = " << lib.multiply(10, 5); qDebug() << "10 / 5 = " << lib.divide(10, 5); return a.exec(); }
- 配置库路径
- 将dll、lib、h三个文件复制到项目编译所在的位置
- 添加外部库
- 右键项目,选择添加库,选择外部库
- 运行项目
- 运行项目,查看函数调用结果
通过以上步骤,你就可以在Qt Creator中成功生成并调用动态库了。
热门推荐
饰品级和田玉“俄罗斯碧玉”!为什么能把碧玉籽料拉下王座?
玩转昆明自驾游:市区景点到周边景区,一文掌握
研究证实:心理护理可有效改善分离转换性障碍症状
从心理到生活:专业指导分离性障碍患者护理要点
古代小妾的真实生活:从法律边缘到文化符号
任泽平团队:写给股民们的九条投资建议
微信头像昵称显示异常?7种实用解决方案帮你轻松应对
微信小程序用户信息获取规则更新:从被动获取到主动授权
微信昵称显示异常?重启、清理缓存等6步解决
十堰郧西五龙河:一个藏在秦岭深处的世外桃源
湖北五龙河:寻幽访古,探秘自然
红豆生长在哪里?中国哪些地方适宜种植?——探讨红豆的生长环境
上海音乐场地观察:从独立音乐、爵士到俱乐部场景
演员赵露思确诊分离性障碍,专家:心理干预是关键
探望病人,最火祝福语大揭秘!
暖心话语:医疗中的人文关怀
给生病亲人的暖心祝福语:30个实用范例
病人暖心祝福语,你最爱哪一句?
从红墙黄瓦到金龙合玺:中国古代建筑色彩演变
青龙瓦当:中国古代建筑中延续千年的权力符号
御龙升天:战国汉代绘画中的龙形象演变
先秦汉代绘画龙形象:从神异动物到升仙载体
探究玉石佩戴在脖子上:12大益处与日常保健指南
一文读懂:中国古代玉器的发展史(值得收藏)
俄罗斯碧玉怎么鉴别真假
和田玉碧玉俄料价值分析:是否值得投资?
俄罗斯碧玉怎么鉴别真假
俄罗斯碧玉:从形成到鉴赏的全面指南
教育部联手中科院,全面加强大学生心理健康教育
全民动起来:运动如何塑造健康积极的生活态度