首页 > 其他分享 >Qt生成动态库和使用动态库

Qt生成动态库和使用动态库

时间:2024-01-07 21:33:08浏览次数:39  
标签:Qt 项目 生成 点击 添加 设置 按钮 动态

一、动态库的生成

第一步.新建项目——库——C++ Library——点击选择按钮

Qt生成动态库和使用动态库_工程文件

第二步.填写名称——新建路径——点击下一步按钮

Qt生成动态库和使用动态库_动态库_02

第三步:选择Build system:默认的qmake即可——点击下一步按钮

Qt生成动态库和使用动态库_动态库_03

第四步:设置库的类型默认的Shared Library即可——设置Qt  module选择需要的模块——其他也设置为默认即可——点击下一步按钮

  • Shared Library:共享库
  • Statically Linked Libary:静态连接库
  • Qt plugin:qt插件

Qt生成动态库和使用动态库_工程文件_04


第五步:设置语言设置为Chinese(China)即可

Qt生成动态库和使用动态库_库文件_05

第六步:选择你需要的开发套件——点击下一步

Qt生成动态库和使用动态库_工程文件_06

第七步:设置项目管理相关,点击完成

Qt生成动态库和使用动态库_动态库_07

第八步:相关开发完成后,项目右击,点击qmake编译运行

第九步:构建成功后,运行项目,出现以下报错,忽略即可,成功生成了dll、lib库文件

Qt生成动态库和使用动态库_动态库_08

在项目相应编译器的Debug或者是Release目录下

Qt生成动态库和使用动态库_动态库_09

二、动态库的调用

第一步;新建项目——自定义项目名称——选择合适编译器——自定义类名——点击完成

第二步:将生成的动态库拷贝到新建的项目中,最好是单独建一个文件夹存放

第三步:添加生成动态库类的头文件到新项目中

第四步:右击新项目——点击添加库——选择外部库——添加库文件——选择库文件所在的位置——点击下一步——点击完成——在工程文件.pro中添加了相关库的引入

第五步:编写项目,动态库可调用

出现无法解析的外部符号或者是lib明明导入了却说不存在等问题有可能是库没有被正确包含

我前面直接放在工程文件的同级,添加库后一直报错

后我新建了一个文件夹专门存放库文件,再在项目中重新导入库,这些问题就不存在了

(ps:但是我不明白这是什么原因)

标签:Qt,项目,生成,点击,添加,设置,按钮,动态
From: https://blog.51cto.com/u_15515702/9134905

相关文章

  • 动态内存开辟--在堆区进行开辟存储
    1.malloc值//1.malloc--开辟好的空间如果还没有使用,则都默认为随机值#include<stdlib.h>#include<string.h>#include<errno.h>#include<stdio.h>intmain(){ //向堆区内存申请开辟是个整型内存的空间,开辟的空间首地址交给指针p //int*p=(int*)malloc(10*sizeof(int)); ......
  • 常见的动态内存开辟错误
    1.没有判断malloc返回值是否开辟成功,对NULL解引用操作intmain(){ int*p=(int*)malloc(40);//没有判断malloc开辟失败情况 //万一malloc失败,p就被赋值为NULL for(inti=0;i<10;i++) { *(p+i)=i; } free(p); p=NULL; return0;}2.对动态开辟内存的越界......
  • Gin 实现自动生成接口文档
    自动生成接口文档的好处说之前,先说一下自动生成接口文档有哪些好处?1)节省时间和工作量:手动编写接口文档是一项耗时且繁琐的任务。通过自动生成接口文档,可以大大减少编写文档的时间和工作量,提高开发效率。2)保持文档与代码同步:代码和文档往往是不同步的,当代码发生变更时,手动更新文档可......
  • STM32MP157D-DK1 Qt程序交叉编译与运行测试
    上篇文章介绍了STM32MP157D-DK1开发板Qt镜像的构建,通过在Ubuntu中重新编译带有Qt功能的系统来实现。本篇在上篇的基础上,继续搭建Qt的交叉编译环境,实现Qt程序在Ubuntu中编译,在STM32MP157板子中运行。1编译安装SDK在上篇编译系统镜像的基础上,继续编译和安装SDK。1.1编译SDK执行如下......
  • 项目前瞻|Spring AI:在你的Spring应用中使用生成式AI
    过去一年里,ChatGPT和GoogleBard这样的东西出现,为大众带来了生成式人工智能,似乎每个人都在梦想和计划如何在他们的项目甚至日常生活中利用人工智能。如果您是Spring开发人员,您可能想知道如何在Spring应用程序中实现生成式AI。如果是这样,那么接下来这个视频一定适合您。该视......
  • 通讯录(动态增长版本)——《初学C语言第52天》
    contact.h////此通讯录为静态的版本(设置多少量就是多少,量的大小无法调整)////动态版本:需要多少就给多少,不够用了就开辟新空间,多了就自动减少////文件版本:动、静两种只要退出通讯录,保存的信息就消失了,而文件版本会依旧保存#define_CRT_SECURE_NO_WARNINGS1#define MAX100#define......
  • 安装MySQL数据库及QT添加数据库驱动连接使用
    1.下载官方地址MySQLCommunityserver8.2.0innovation:MySQL社区版的服务器软件,目前最新版本是8.2.0SelectVersion:选择你需要下载的版本号SelectOperatingSystem:选择操作系统,支持安装的操作系统如下Windows(x86,64bit),MSIInstaller(MSI=microsoftinstaller):推荐选择W......
  • Jmeter_全局变量的生成与使用
    以跨线程组传递token为例:Step1:提取token(json提取器/正则表达式提取器)Step2:使用__setProperty()函数将提取到的token设置成全局变量 Step3:添加BeanShell后置处理器,粘贴Step2生成的内容  Step4:使用__P()函数生成待使用的全局变量   Step5:在调用的地方粘贴Stp4生......
  • C++ Qt开发:Charts与数据库组件联动
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍Charts组件与QSql数据库组件的常用方法及灵活运用。在之前的文章中详细介绍了关于QCharts绘图组件......
  • BegCode生成第一个应用,一键走起!
    BegCode生成应用的代码过程非常简单,只需要简单的几个问题就可以了。环境要求BegCode要求Node和Java环境,所以你首先要安装相应的工具。JDK版本1.8和17以上可选,Node.js需要18.18或20.6以上的版本。安装BegCodenpminstall-ggenerator-begcode运行并配置1.运行命令begcode样子有点......