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中成功生成并调用动态库了。
热门推荐
立足警务“小窗口” 做优服务“大民生”
铜材料在电动汽车领域的应用与优势分析
电动三轮车出口认证以及国际物流方式
北海狗的生态特征和生存习性
星耀传说:揭秘宇宙的秘密
探讨铜线在电力传输中的关键作用
面相看你的财运何时最好
毛坯房质量问题开发商不处理怎么办?
豆浆和牛奶的营养成分有何差别?教你如何选择?
防爆配电箱空箱:构建安全电气环境的基础
一文读懂温湿度传感器
不同胃病不同“修复工具”——常用胃药解析
春节贴对联的传统文化与技巧:增添年味的美好习俗
用DeepSeek批改学生作文
LLM 微调:LoRA 的数学原理
回迁房买卖需要交什么费用?买卖协议有法律效力吗?
各大平台的推荐算法到底是什么神奇的东西?
英语:理解“mean”及“what do you mean”的含义与用法
监测身体健康,也许只需一滴汗?
脸颊咬肌过大如何处理
4岁男孩不慎被洁厕剂溅入眼睛,这位母亲的做法值得学习
你应该告诉别人你梦见过他吗?
液冷技术在储能行业中应用简述
Steam新家庭共享功能深度解析:规则变化、安全考量与生态影响
《东京审判》中的美国:历史的审视与国际法的应用
一文读懂车规级芯片与消费级芯片区别
黄灯时越过停止线算闯红灯吗
超过这个年龄,父母要帮助孩子脱尿不湿了,否则难逃两种悲惨结局
TFM实时全聚焦成像技术:超声检测领域的革命性突破
Word模版、样式、主题、样式集之间到底是什么关系