问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Qt Creator生成动态库(DLL)并调用,保姆级教程

创作时间:
作者:
@小白创作中心

Qt Creator生成动态库(DLL)并调用,保姆级教程

引用
CSDN
1.
https://blog.csdn.net/mamor/article/details/141676972

本文将详细介绍如何在Qt Creator中生成动态库(DLL)并调用。通过本文,你将学会如何创建一个动态库项目,编写函数,并在另一个项目中调用该动态库。

一、动态库的生成

  1. 建立库文件
  2. 修改类型为共享库
  • 自定义项目名称和项目路径
  1. 选择编译器
  2. 选择动态库所需要的模块
  3. 自定义类名
  4. 项目总览
  5. 编辑头文件
  • testdynamiclib_global.h中的内容拷贝到testdynamiclib.h
  1. 定义函数
  • 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
    
  1. 实现函数功能
  • testdynamiclib.cpp中实现上述函数
  1. 编译运行
  • 右键项目,点击qmake编译运行
  1. 重新构建
  • 右键项目,点击重新构建
  1. 查看生成的库文件
  • 构建成功后,会在build目录的debug文件夹中生成dll和lib库文件

二、动态库的调用

  1. 新建工程
  2. 自定义项目名
  3. 选择编译器
  4. 自定义类名
  5. 项目预览
  6. 复制库文件
  • 将生成的.dll.lib文件以及testdynamiclib.h复制到新项目中
  1. 在新项目中使用动态库
  • 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();
    }
    
  1. 配置库路径
  • 将dll、lib、h三个文件复制到项目编译所在的位置
  1. 添加外部库
  • 右键项目,选择添加库,选择外部库
  1. 运行项目
  • 运行项目,查看函数调用结果

通过以上步骤,你就可以在Qt Creator中成功生成并调用动态库了。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号