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中成功生成并调用动态库了。
热门推荐
应急自救与互救知识全攻略
戴安娜车祸后,给她做心肺复苏消防员说:她清醒能说话,不应该死
戴安娜王妃之死另有隐情?法医揭露致命伤:没见过第二例类似情况
锐度,对摄影有多重要?
浙江工业大学:校园风光、专业设置与录取分数线详解 🌟
福克Dr.Ⅰ:一战时期德国的传奇三翼战斗机
什么是CPK?看这篇就够了
长期使用微波炉加热食物会致癌吗?真相在这里
拳击力量训练方法技巧
蓝桥杯单片机第十三届国赛真题解析-测评满分代码
合作社股东变更手续
R7 5700X配什么主板(r75700x配什么主板)
南沙区十大旅游景点
慈溪中学,能不能成为下一个镇海中学?
甲亢患者能喝奶茶吗?喝奶茶对病情有何影响?
为什么印度可以合法仿制专利药而不会被制裁?
为什么印度是仿制药生产的枢纽?
公认的省油耐操的B级车有哪些?
沪金期涨跌受哪些因素影响?这些因素如何作用于市场价格?
建盏为什么和宋代茶文化最般配
如何区分不同类型的车道以确保行车安全?车道标识和规则有哪些需要特别注意的地方?
图拉真纪功柱:罗马帝国的永恒纪念碑
清酒101:日本清酒终极指南
如何钻不锈钢?
厨房面积一般多大合适
小厨房的设计攻略:实用与美观兼得
浅析民事金融案件的种类及其法律适用
你对「全谷物」有多少误解?
1949年国军溃败:为何蒋介石选择台湾而非缅甸?
诛仙世界职业选择攻略:如何选择最适合你的职业?