Visual Studio 2013 中创建一个基于 Qt 的动态链接库:并在MFC DLL程序中使用

在本地已经安装好 Qt 的情况下,按照以下步骤在 Visual Studio 2013 中创建一个基于 Qt 的动态链接库:

一、新建 Qt 项目:

  • 在 Visual Studio 中,选择 “文件” -> “新建” -> “项目…”。
  • 在 “新建项目” 对话框中,选择 “Visual C++” -> “Qt” -> “Qt Class Library”。
  • 输入项目名称,选择位置,点击 “确定”。
  • 在这里插入图片描述
  1. 选择 DLL 项目依赖的QT模块:
    • 按需引入相应的模块,一般引入Core 、GUI、Widgets基本够用了
    • 需要数据库就勾上SQL,想使用xml格式的数据存储与读取就勾选QML等等
    • 点击下一步生成,项目

在这里插入图片描述

  • 生成项目后,直接删除有向导生成的***_global.h 文件,整个文件就是一个导出宏,后面自己重新定义项目工程的。当然不删除也是可以的,看个人习惯。
    在这里插入图片描述

  • 接下面,先运行试试,看看编译是否有问题,选行x64平台。
    在这里插入图片描述

  • 可见编译成功,接下来就是修改工程配置,对应实际开发中的情景

  • 在这里插入图片描述

二、修改项目配置:

  • 首先确定,你的主程序是什么版本的动态库,新增的库一定就要有对应的版本。不然不同的版本链接会有很多莫名的问题,由于编译版本不一直,导致的链接错误,模块加载不上,可以说是动态链接库的噩梦。
  • 一般来讲配置两个版本就够, debug 与 release。debug是调试版本,release是发行版本,当然也可以是带调试信息的release版本(复制一个release然后稍加修改即可,博主平时用的就是这个编译调试)
  • 点击新建
  • 在这里插入图片描述
  • 输入name, 选择由release复制
    在这里插入图片描述
  • 打开项目属性,切换到刚刚新增的编译配置中
    在这里插入图片描述
  • 对信息调试配置做以下修改,设置调试信息格式、关闭优化、打开调试信息
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 此时带调试信息的release编译配置已经基本设置完善,接下来就是根据自己具体的使用情况,设置输入、输出文件路径,inc ,lib ,编译后文件拷贝等等。

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

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

相关文章

【轻松入门】OpenCV4.8 + QT5.x开发环境搭建

引言 大家好,今天给大家分享一下最新版本OpenCV4.8 QT5 如何一起配置,完成环境搭建的。 下载OpenCV4.8并解压缩 软件版本支持 CMake3.13 或者以上版本 https://cmake.org/ VS2017专业版或者以上版本 QT5.15.2 OpenCV4.8源码包 https://github.com/op…

C# 学习网站

C# 文档 - 入门、教程、参考。 | Microsoft Learnhttps://learn.microsoft.com/zh-cn/dotnet/csharp/ Browse code samples | Microsoft LearnGet started with Microsoft developer tools and technologies. Explore our samples and discover the things you can build.http…

SpingBoot的项目实战--模拟电商【1.首页搭建】

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于SpringBoot电商项目的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.项目背景及技术点运用 …

TikTok真题第6天 | 146.LRU缓存、333.最大的二分搜索树、621.任务调度器

146.LRU缓存 题目链接:146.lru-cache 解法: 这个题代码量大,光看题解就1个小时多了,看完写下来花了两小时多... 使用哈希表双向链表来实现LRU缓存的特性,即哈希表可以实现get为O(1)复杂度,双向链表可以…

Mybatis Mapper XML文件-缓存(cache)

MyBatis包含一个强大的事务查询缓存特性,可以进行灵活的配置和自定义。在MyBatis 3的缓存实现中进行了许多改进,使其更加强大且更易于配置。 默认情况下,仅启用了本地会话缓存,该缓存仅用于缓存会话期间的数据。要启用全局的第二…

C++ 一个有bug的贪吃蛇。。。。。。。。

C 一个有bug的贪吃蛇。。。。。。。。 #include <graphics.h> #include<Windows.h> #include<Mmsystem.h> #include<conio.h> #include<time.h> #include<stdio.h> #include<easyx.h> using namespace std; #pragma warning(di…

Qt之自定义分页(翻页)控件

当数据量较大时,分页显示是个不错的选择。这里用百家姓来演示分页效果,包括首页、上一页、下一页、尾页和跳转。 一.效果 每页15个姓氏。 二.实现 QHPageWidget.h #ifndef QHPAGEWIDGET_H #define QHPAGEWIDGET_H#include <QWidget> #include <QStandardItemMod…

DBeaver连接hive

1.新建hive连接 其中主机填写hive所在节点地址&#xff0c;端口10000为默认&#xff0c;数据库名不填则是默认default数据库&#xff0c;用户名密码填写hadoop集群中能操作hdfs的用户和密码。 2.编辑驱动&#xff0c;驱动的jar包从安装的hive下的jdbc路径下获取&#xff0c;例…

第8章 社会工程学攻击

社会工程学是利用人性弱点体察、获取有价值信息的实践方法&#xff0c;它是一种欺骗的艺术。在缺少目标系统的必要信息时&#xff0c;社会工程学技术是渗透测试人员获取信息的至关重要的手段。对所有类型的组织&#xff08;单位&#xff09;而言&#xff0c;人都是安全防范措施…

【flink番外篇】9、Flink Table API 支持的操作示例(3)- 通过API查询表和使用窗口函数的查询

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点&#xff0c;并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分&#xff0c;比如术语、架构、编程模型、编程指南、基本的…

软件开发者必读!2024年30大趋势提前曝光!

软件是科技行业的基础。从智能手机到复杂的企业系统&#xff0c;软件是推动这些技术的核心。在探索数字时代的过程中&#xff0c;了解软件开发的趋势非常重要。人工智能、机器学习、物联网等技术的快速发展对软件开发行业产生了巨大影响。本文旨在通过30个数据汇总&#xff0c;…

STM32 基础知识(探索者开发板)--93讲 PWM

预分频器相当于一个计数器&#xff0c;2分频就是接收2个脉冲传递一个脉冲&#xff0c;3分频就是接收3个脉冲传递一个脉冲&#xff0c;最高65535分频&#xff0c;那么总计时间能达到65535*65535*1/72MHZ 约59秒&#xff0c;没有分频器只能计数最高0.09秒 PWM配置步骤 1.配置定时…

《长江丛刊》期刊投稿发表

《长江丛刊》杂志是由国家新闻出版总署批准的正规期刊&#xff0c;是一本文学类综合性刊物&#xff0c;包括文学评论以及文学作品的发表。是广大专家、学者、教师、学子发表论文、交流信息的重要平台&#xff0c;符合评职称要求&#xff08;单位有特殊要求除外&#xff09;。 …

docker小白第八天

docker小白第八天 redis常规安装 前期已经配好了阿里云容器镜像加速库 docker search redis docker pull redis:6.0.8 docker images redis:6.0.8启动容器,并进入容器的命令行界面 docker run -d -p 6379:6379 redis:6.0.8 docker ps docker exec -it 容器id /bin/bash验证…

可替代 Spring,国产 Solon v2.6.3 发布

Solon 是什么框架&#xff1f; Java 新的"生态级"应用开发框架。从零开始构建&#xff0c;有自己的标准规范与开放生态&#xff08;历时六年&#xff0c;具备全球第二级别的生态规模&#xff09;。 相对于 Spring&#xff0c;有什么特点&#xff1f; 国产&#xf…

Java生态系统的进化:从JDK 1.0到今天

目录 前言 JDK 1.0&#xff1a;开启Java时代 JDK 1.1&#xff1a;Swing和内部类 JDK 1.2&#xff1a;Collections框架和JIT编译器 JDK 1.5&#xff1a;引入泛型和枚举 JDK 1.8&#xff1a;Lambda表达式和流 JDK 11以后&#xff1a;模块化和新特性 未来展望 总结 作者简…

Abaqus许可证有效期及续期方法

作为工程设计和仿真领域的知名软件&#xff0c;Abaqus受到广大用户青睐。然而&#xff0c;许可证有效期的问题常常困扰着用户。为了帮助您更好地了解Abaqus许可证有效期及续期方法&#xff0c;我们特别邀请了行业专家进行详细解读。 一、Abaqus许可证有效期 Abaqus许可证的有…

【2023-12-23周报】

2023-12-23周报 本周开展工作下周工作计划 本周开展工作 上线工作小程序的水印添加以及删除项目的合并以及调整更改后的项目接口上周由于我们的后端不在&#xff0c;所以对于我们现在的小程序项目进行了一些深入的思考这周的话和后端进行联调了后端的接口 上线的话我们为小程…

Elasticsearch 常用 REST API 之集群APIs

Cluster health API 集群运行状况API返回关于集群运行状况的简单状态。您还可以使用API仅获取指定数据流和索引的健康状态。对于数据流&#xff0c;API 检索流的支持索引的运行状况。 集群健康状态为:绿色、黄色和红色。在shard级别&#xff0c;红色状态表示集群中没有分配特…

高并发下数据库插入操作死锁问题

1. 问题&#xff1a; 项目中出现如下报错&#xff1a; org.springframework.dao.DeadlockLoserDataAccessException: com.xxxMapper.insert (batch index #1) failed. Cause: java.sql.BatchUpdateException: Deadlock found when trying to get lock; try restarting trans…