开发者

C++使用QTcreator创建动态库流程

开发者 https://www.devze.com 2024-08-14 11:55 出处:网络 作者: 嵌入式大白菜
目录前言一、什么是动态库?有何作用?二、使用QtCreator创建步骤1.创建库2.添加需要加入动态库的函数3.构建动态库4.生成动态库文件5.创建项目进行测试5.1在工程目录下创建如下两个文件夹,用于存放头文件和动态库5.
目录
  • 前言
  • 一、什么是动态库?有何作用?
  • 二、使用QtCreator创建步骤
    • 1.创建库
    • 2.添加需要加入动态库的函数
    • 3.构建动态库
    • 4.生成动态库文件
    • 5.创建项目进行测试
      • 5.1在工程目录下创建如下两个文件夹,用于存放头文件和动态库
      • 5.2将创建好的动态库中的 mylib.h拷贝到 include文件夹中,将.so文件拷贝到lib文件夹中
      • 5.3包含头文件和动态库路径,并调用库进行测试
  • 总结

    前言

    这篇文章主要记录使用QTcreator创建C++动态库的流程,仅供参考。

    环境:linux deepin2python0 + Qt 5.8.0

    一、什么是动态库?有何作用?

    接下来简单介绍一下动态库及其作用:动态库是一种在程序运行时才被加载到内存中的共享库。

    动态库,也称为动态链接库(DLL,Dynamijsc Link Library),是一种可以在程序运行时动态加载的代码和数据文件。与静态库不同,动态库并不在程序编译链接时将代python码“拷贝”到可执行文件中,而是在程序运行时根据需要加载相应的代码和数据。这样做的好处是:

    节省内存:多个程序可以共享同一份动态库的代码和数据,减少了内存的占用。

    便于更新:当动态库更新时,只需要替换库文件,而不需要重新编译依赖该库的所有程序。

    减少部署成本:程序发布时,只需携带必要的动态库文件,而不是整个程序的所有依赖,这样可以减小安装包的大小。

    提高程序启动速度:因为动态库是在程序运行时才加载的,所以可以加快程序的启动速度。

    支持模块化设计:动态库的使用使得程序可以更加模块化,各个功能可以独立更新和维护。

    总的来说,动态库是现代软件开发中常用的一种技术,它使得程序的开发、维护和部署都变得更加灵活和高效。在Windows操作系统中,动态库通常以.dll为扩展名;在Linux和MACOS系统中,则以.so(共享对象)或.dylib为扩展名。

    二、使用QtCreator创建步骤

    1.创建库

    新建Qt工程时选择C++库,后续选项根据需求进行选择

    C++使用QTcreator创建动态库流程

    创建成功会得到这样一个目录结构

    这里我们只需要mylib.c 和my编程客栈lib.h,其余无关的mylib_global.h可以删除

    C++使用QTcreator创建动态库流程

    删除头文件同时许删除该文件在其他文件中的引用

    头文件中定义的空类,不会用到,所以一并删除

    C++使用QTcreator创建动态库流程

    2.添加需要加入动态库的函数

    这里我定义了一个简单的fuc()

    C++使用QTcreator创建动态库流程

    C++使用QTcreator创建动态库流程

    3.构建动态库

    这里需要点击 构建 ,不要构建并运行,因为没有main函数

    C++使用QTcreator创建动态库流程

    4.生成动态库文件

    构建成功后会在,活动目录下生成如下三个软连接和个动态库本体

    C++使用QTcreator创建动态库流程

    5.创建项目进行测试

    这里我创建了一个QTapplication项目,在里面进行测试

    项目创建就是简单的QT项目创建方式,这里我的项目名为 test

    5.1在工程目录下创建如下两个文件夹,用于存放头文件和动态库

    C++使用QTcreator创建动态库流程

    5.2将创建好的动态库中的 mylib.h拷贝到 include文件夹中,将.so文件拷贝到lib文件夹中

    C++使用QTcreator创建动态库流程

    C++使用QTcreator创建动态库流程

    5.3包含头文件和动态库路径,并调用库进行测试

    在工程文件 test.pro 中添加如下两行

    //头文件路径包含
    INCCLUDEPATH += 头文件路径
    //包含库
    LIBWlJoltMS += -L 库文件目录 -l动态库名
    

    C++使用QTcreator创建动态库流程

    进行调用并测试

    C++使用QTcreator创建动态库流程

    显示输出结果成功,证明通过动态库调用func()成功,动态库创建成功。

    总结

    到此这篇关于C++使用QTcreator创建动态库流程的文章就介绍到这了,更多相关 QTcreator创建动态库内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号