C++- VS2022-创建ATL 有QT库的工程

1.创建带QT库的ATL工程

创建 ATL COM 项目:在 Visual Studio 2022 中,选择 "文件" -> "新建" -> "项目",然后在 "创建新项目" 对话框中选择 "Visual C++" -> "ATL" 类别,选择 "ATL 项目向导" 作为项目模板。输入项目名称和存储位置,点击 "确定"。

  1. 安装 QT:首先,从 QT 官方网站(https://www.qt.io/)下载并安装适用于 Visual Studio 2022 的 QT 版本。确保选择正确的 QT 版本,以兼容您的 Visual Studio 2022。

  2. 配置项目属性:

    • 右键单击项目,在上下文菜单中选择 "属性"
    • 在属性页中,选择 "常规" 选项卡,确保 "字符集" 选项设置为 "使用多字节字符集"。
    • 在属性页中,选择 "C/C++" -> "常规" 选项卡,在 "附加包含目录" 中添加 QT 的头文件目录。C:\Qt\5.15.2\msvc2019_64\include
    • 在属性页中,选择 "链接器" -> "常规" 选项卡,在 "附加库目录" 中添加 QT 的库文件目录。    C:\Qt\5.15.2\msvc2019_64\lib
    • 在属性页中,选择 "链接器" -> "输入" 选项卡,在 "附加依赖项" 中添加所需的 QT 库文件,如 Qt5Core.libQt5Gui.libQt5Widgets.lib 等。
  3. 添加 QT 代码:

    • 在 ATL COM 项目中的源文件中包含所需的 QT 头文件,如 #include <QtCore/QtGlobal>
    • 使用 QT 库提供的功能编写代码,如创建 QT 对象、连接信号和槽等。
  4. 构建和运行:完成代码编写后,选择 "生成" -> "生成解决方案" 来构建项目。如果一切顺利,您可以通过选择 "调试" -> "开始调试" 或按下 F5 键来运行您的 ATL COM 项目,并验证 QT 代码的运行结果。


     

2.注册.dll


2.1  在属性页中,选择“生成事件” -> “后期生成事件”选项卡。

  1. 在“命令行”文本框中,添加以下命令来手动注册 QT 库的输出:

       "$(QTDIR)\bin\windeployqt.exe" "$(TargetPath)"

    这将使用 windeployqt.exe 工具自动复制 QT 库所需的运行时依赖项到项目输出目录中,并注册库文件。
    单击“确定”按钮保存更改。

    我没成功过。



2.2 用VS2022自带的cmd

<path_to_qt>\bin\windeployqt.exe       <path_to_output_binary>

其中 <path_to_qt> 是 QT 安装目录,<path_to_output_binary> 是 ATL COM 项目的输出二进制文件路径。

 D:\QT\Qt5.14.2\5.14.2\msvc2017_64\bin\windeployqt.exe  D:\Source\repos\UnifiedRegistInterface\x64\Debug\UnifiedRegistInterface.dll

IDL方法的添加

类视图->类向导

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/624220.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络安全】【密码学】【北京航空航天大学】实验三、数论基础(下)【C语言实现】

实验三、数论基础&#xff08;下&#xff09; 一、实验内容 1、中国剩余定理&#xff08;Chinese Remainder Theorem&#xff09; &#xff08;1&#xff09;、算法原理 m1, m2, … mk 是一组两两互素的正整数&#xff0c;且 M m1 m2 … mk 为它们的乘积, 则如下的同余…

9.1、加密技术原理详解

目录 一、加解密定义 二、加密技术分类 2.1、对称加密 2.2、非对称加密 三、对称加密算法 四、非对称加密算法 五、对称加密和非对称加密比较 六、对称加密和非对称加密结合 一、加解密定义 数据加密&#xff1a;对原来为明文的文件或数据按某种算法进行处理&#x…

MK-米客方德TF卡和SD卡的区别

TF卡和SD卡的区别 TF卡也叫MicroSD卡&#xff0c;以MK-米客方德的TF卡和SD卡为例&#xff0c;TF卡和SD卡的区别如下&#xff1a; 1、物理尺寸&#xff1a; TF卡&#xff1a;TF卡是一种较小尺寸的存储卡&#xff0c;也被称为MicroSD卡。其尺寸为15mm 11mm 1mm。 SD卡&#x…

odoo16 销售订单中数量与单价,手机录入不方便

odoo16 销售订单中数量与单价&#xff0c;手机录入不方便 在销售订单中&#xff0c;服装批发&#xff0c;数量与单价均是整数&#xff0c;系统默认的为保留两位小数的float类型&#xff0c;输入起来很不方便&#xff0c;如何修改 电脑版&#xff0c;输入时&#xff0c;自动选取…

国外客户工厂还是贸易商,该怎么回答

在和客户沟通的时候&#xff0c;我们最常遇到也最头疼的问题就是客户询问我们是工厂还是贸易商的时候&#xff0c;我们该怎么回答呢&#xff1f;万一回答错误了客户不搭理我们了应该怎么办呢&#xff1f; 先来看看我们常用的回答方式&#xff0c;是不是有你常用的&#xff1f;…

安装tesseract

Tesseract OCR是一款由HP实验室开发由Google维护的开源OCR引擎&#xff0c;在字符识别领域发挥着举足轻重的作用。除了使用软件自带的中英文识别库&#xff0c;我们可以使用Tesseract OCR训练属于自己的字库。 下载地址&#xff1a;https://digi.bib.uni-mannheim.de/tesseract…

信息之板:数据看板如何点亮我们的生活

数据看板&#xff0c;作为数据可视化的一种应用形式&#xff0c;已经逐渐渗透到我们的日常生活中&#xff0c;发挥着越来越重要的作用。这种集中呈现和分析信息的工具&#xff0c;不仅在企业管理中大放异彩&#xff0c;更在我们的日常生活中展现出了强大的价值。下面我就以可视…

智慧公厕:利用物联网、云计算和人工智能实现智能化管理与控制

智慧公厕是指利用传感感知、物联网、互联网、大数据、云计算、自动化控制等先进技术&#xff0c;实现对公厕的智能化管理与控制。通过以上高精尖的信息技术手段&#xff0c;可以实时监测厕所内人体活动状态、人体存在状态、空气质量情况、环境变化情况、设施设备运行状态等信息…

【科普】API接口——线上销售的秘密武器

什么是API&#xff1f; API全称为Application Programming Interface&#xff0c;中文是应用程序编程接口。它其实是一些预先定义的函数&#xff0c;目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力&#xff0c;而又无需访问源码&#xff0c;或理解内部工…

为什么我说小公司也一定要用K8S

Kubernetes是谷歌以Borg为前身&#xff0c;基于谷歌15年生产环境经验开源的一个项目。Kubernetes致力于提供跨主机集群的自动部署、扩展、高可用以及运行应用程序容器的平台&#xff0c;其遵循主从式架构设计&#xff0c;其组件可以分为工作节点&#xff08;Node&#xff09;组…

2024年3d云渲染怎么选?怎么挑好的云渲染农场

3D渲染属于最消耗电脑计算算力过程&#xff0c;并且渲染时间相对于效果图渲染比较久&#xff0c;不少的CG创作者都是通过网络上的“云渲染”平台来完成&#xff0c;提升效率的同时&#xff0c;还可降低渲染的成本。那么好的3D云渲染平台怎么选择呢?在选择时关注哪几个要点呢?…

多角度展文明风采!成都市第二届公益短视频大赛落幕

近日&#xff0c;“金芙蓉文明让生活更美好”成都市第二届公益短视频大赛揭晓获奖名单&#xff0c;170余部作品脱颖而出。此次大赛共收到700余部参赛作品&#xff0c;以不同手法、从不同角度描绘文明成都。 用短视频弘扬社会主义核心价值观 以真实故事为原型引发更多人共鸣 …

中级职称通过率是否高?

中级职称的通过率因地区和行业而异 首先&#xff0c;中级职称的通过率因不同的地区和行业而异。在一些行业和地区&#xff0c;中级职称的通过率可能较高&#xff0c;例如一些技术领域的职称&#xff0c;而在其他行业和地区&#xff0c;通过率可能较低。一般来说&#xff0c;技术…

Java异常处理--异常处理的方式1:try-catch-finally

文章目录 一、异常处理概述二、方式1&#xff1a;捕获异常&#xff08;try-catch-finally&#xff09;&#xff08;1&#xff09;抓抛模型&#xff08;2&#xff09;try-catch-finally基本格式1、基本语法2、整体执行过程3、try和catch3.1 try3.2 catch (Exceptiontype e) &…

Linux系统——管道命令tr、cut、sort、uniq命令

一、tr 1.替换 表示将1替换为a 2.删除 tr -d 3.压缩 tr -t 二、cut -d 指定分隔符 -f 指定需要的列 1.提取所需要的列 2.延伸——磁盘剩余空间不足发起警告 可以制定一个计划任务 每30分钟提醒自己磁盘剩余空间情况 三、sort -t 指定分隔符 -k 指定列排序 四、uniq…

Java重写ArrayList方法

前言&#xff1a;ArrayList中有很多方法&#xff0c;我们只有深知这些方法是怎么实现的才能更好的使用&#xff0c;不用死记硬背 我们来一一实现&#xff08;重写&#xff09; 前提准备&#xff1a;我们需要先创建一个类&#xff0c;类中写ArrayList的内部结构组成 public cl…

82. 删除排序链表中的重复元素 II

给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,3,4,4,5] 输出&#xff1a;[1,2,5]示例 2&#xff1a; 输入&#xff1a;head [1,1,1,2…

代码随想录算法训练营第五天|哈希表理论基础,242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和

系列文章目录 代码随想录算法训练营第一天|数组理论基础&#xff0c;704. 二分查找&#xff0c;27. 移除元素 代码随想录算法训练营第二天|977.有序数组的平方 &#xff0c;209.长度最小的子数组 &#xff0c;59.螺旋矩阵II 代码随想录算法训练营第三天|链表理论基础&#xff…

【Elsevier】中科院分区升至1区TOP,录用率50%, 代表作神刊!

发表说 截图来源&#xff1a;LetPub 01 期刊概况 Computers & Industrial Engineering 【出版社】Elsevier 【ISSN】0360-8352 【检索情况】SCI&EI双检 【WOS收录年份】1976年 【出刊频率】月刊&#xff0c;最新一期Volume 188 &#xff0c;In progress (February…

arcgis javascript api4.x以basetilelayer方式加载arcgis发布的栅格切片服务

需求&#xff1a; 以arcgis js api的basetilelayer加载arcgis发布的栅格切片服务 效果图&#xff1a; 其中和tileinfo和lods&#xff0c;这样获取&#xff1a; https://map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer/?fpjson urltemplate&#xff1a; …