qt5将程序打包并使用
一、封装程序
(1)、点击创建项目->库->c++library
(2)、填写自己想要封装成库的名称,这里我填写的名称为mydll1
(3)、如果没有特殊的要求,则一路下一步,最终会出现如下文件列表。
(4)、删除mydll1_global.h文件,编写mydll1.h文件内容如下:
其中class Q_DECL_EXPORT Mydll
为需要封装的类名,可以在类中编写相关函数,在上述例子中,我们编写了一个add函数。
extern "C"
{Q_DECL_EXPORT int add(int a, int b);
}
上述代码含义为,该函数可以被C语言或其他语言调用,同时这个函数是导出(export)的,意味着它可以从动态链接库(DLL)中被外部程序访问。
(5)、编写函数的实现,在对应的.cpp中
编写完成后选择release模式,点击编译(小锤子):
此时会在创建项目的文件夹中的“Mydll1\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release”找到“mydll1.dll”和“mydll.lib”。此时代码封装完成。
二、调用封装好的程序
(1)、创建一个名为test的新项目将之前打包程序中的“mydll1.h“的头文件粘贴到该项目下:
(2)、release模式,点击编译(小锤子)
(3)、此时会在项目的根目录下会出现如下路径:test\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release
将封装好的mydll1.dll、mydll1.lib粘贴到如上位置。并将mydll1.lib的路径添加到test.pro中。
LIBS+=PATH\test\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release\mydll1.lib。
(4)、在test的主函数中引用mydll1.h的头文件。并调用add函数:
点击运行,调用成功。
相关文章:

qt5将程序打包并使用
一、封装程序 (1)、点击创建项目->库->clibrary (2)、填写自己想要封装成库的名称,这里我填写的名称为mydll1 (3)、如果没有特殊的要求,则一路下一步,最终会出现如下文件列表。 (4)、删…...

软件设计师-上午题-15 计算机网络(5分)
计算机网络题号一般为66-70题,分值一般为5分。 目录 1 网络设备 1.1 真题 2 协议簇 2.1 真题 3 TCP和UDP 3.1 真题 4 SMTP和POP3 4.1 真题 5 ARP 5.1 真题 6 DHCP 6.1 真题 7 URL 7.1 真题 8 浏览器 8.1 真题 9 IP地址和子网掩码 9.1 真题 10 I…...

uniapp上拉刷新下拉加载
方法一: z-paging 的组件库: show-loading-more-no-more-view"false" 该属性控制是否显示 "加载更多" 或 "没有更多" 的提示。如果设为 false,则不会显示这些提示。如果设为 true,当数据加载完毕…...
【C++】【算法基础】快速排序
快速排序 题目 用快速排序排序长度为 n n n的整数数列。 题解 快速排序的核心思想是分而治之:选定一个基准值,将数组分为两半,一边比其小,一边比其大,然后再次分别选定一个基准值,再次操作。 #include…...
数仓工具—Hive语法之窗口函数中的order by
窗口函数中的order by 其实工作这么多年了,再加上写了这么多的文章,我觉得我还是很理解窗口函数这个东西了,毕竟在工作中用了这么多,各种row_number 排序求分组前几,各种lead/lag 代替自关联实现感觉已经得心应手了。 但是最近遇到窗口函数中的order by 的问题,然后我发…...
以旅游产品为例改写一篇系统架构风格的论文
概念: 系统架构风格是描述某一特定应用领域中系统组织方式的惯用模式,架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的,软件系统架构风格反应了领域中众多软件系统所共有的结构和语义特性,…...

【Linux】linux编辑器-vim的命令及配置
📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…...
解决vite项目tailwindcss不生效!!(Vue3、tailwindcss失效)
安装tailwindcss vite自带安装了postcss,只需要安装tailwindcss npm install -D tailwindcss自动创建tailwind.config.js npx tailwindcss init -p/** type {import(tailwindcss).Config} */ module.exports {// 配置需要使用tailwindcss的文件content: [./src/vi…...

ubuntu 20.04 NVIDIA驱动、cuda、cuDNN安装
1. NVIDIA驱动 系统设置->软件和更新->附加驱动->选择NVIDIA驱动->应用更改。该界面会自动根据电脑上的GPU显示推荐的NVIDIA显卡驱动。 运行nvidia-smi: NVIDIA-SMI has failed because it couldnt communicate with the NVIDIA driver. Make sure that the lat…...
Python世界:力扣题704二分查找
Python世界:力扣题704二分查找 任务背景思路分析代码实现测试套件本文小结 任务背景 问题来自力扣题目704:Binary Search,大意如下: Given an array of integers nums which is sorted in ascending order, and an integer target…...

W55RP20-EVB-Pico评估板介绍
目录 1 简介 2 硬件资源 2.1 硬件规格 2.2 引脚定义 2.3 工作条件 3 参考资料 3.1 RP2040 数据手册 3.2 原理图 编辑 原理图 & 物料清单 & Gerber 文件 3.3 尺寸图(单位:mm) 编辑 3.4 认证 3.5 参考例程 4 硬件协…...

Flink安装和Flink CDC实现数据同步
一,Flink 和Flink CDC 1, Flink Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。 中文文档 Apache Flink Documentation | Apache Flink 官方文档 :https://flink.apache.org Flink 中文社区…...

数字化转型助手 快鲸SCRM系统为企业营销赋能
内容概要 在当今这个快速变化的商业环境中,数字化转型已经成为企业生存与发展的关键要素。无论是零售、制造还是服务行业,企业都深刻意识到传统工作模式的局限性,必须借助先进的技术来优化运营和提升客户体验。快鲸SCRM系统就是这样一款数字…...

浅谈Agent
目录 什么是大模型 Agent ? 大模型Agent 有哪些部分组成? 规划(Planning) Planning类型 不依赖反馈的计划 基于反馈的计划 拆解子目标和任务分解方法 COT TOT GOT LLMP 反思和完善 ReAct(融合推理与执行的能力) Reflexion(动态…...

绿色能源发展关键:优化风电运维体系
根据QYResearch调研团队最新发布的《全球风电运维市场报告2023-2029》显示,预计到2029年,全球风电运维市场的规模将攀升至307.8亿美元,并且在接下来的几年里,其年复合增长率(CAGR)将达到12.5%。 上述图表及…...
Sparrow系列拓展篇:对调度层进行抽象并引入IPC机制信号量
前言 在笔者更新完Sparrow手把手教学系列后,原本是不打算继续更新的。但关于Sparrow系列的读者又渐渐增多,作为作者,总感觉这个系列的文章还是稍微有些不圆满,恐怕多少会让读者有些意兴阑珊。 最近又恰好有一点空闲时间…...

天塌了!!!SQL竟也可以做预测分析?| 商品零售额的预测
目录 0 问题背景 1 数据准备 2 问题解决 2.1 模型构建 (1)符号规定 (2)基本假设 (3)模型的分析与建立 2.2 模型求解 3 小结 0 问题背景 1960年—1985年全国社会商品零售额如图1 所示 表1全国社…...

VSCode本地C/C++环境配置
基本环境下载 1.我的系统是windows,自己先下载安装VSCode,网上视频实在太多,我建议跟着B站视频操作。 2.下载安装好后你需要明白:VSCode只是一个编辑工具,我们要写C/C代码得编译运行,所以我们要配置它在w…...

【智能算法应用】淘金优化算法求解二维路径规划问题
摘要 本文基于智能算法的淘金优化算法(Gold Panning Optimization, GPO)求解二维路径规划问题。该算法模拟淘金过程中个体寻找最优金矿路径的行为,利用适应度函数优化路径规划,能够在复杂环境下实现从起点到目标点的最优路径搜索…...

Linux挖矿病毒(kswapd0进程使cpu爆满)
一、摘要 事情起因:有台测试服务器很久没用了,突然监控到CPU飙到了95以上,并且阿里云服务器厂商还发送了通知消息,【阿里云】尊敬的xxh: 经检测您的阿里云服务(ECS实例)i-xxx存在挖矿活动。因此很明确服务器中挖矿病毒…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...