当前位置: 首页 > news >正文

Qt MinGW / MSVC

MinGW/MSVC的关系

  • MinGW / MSVC
  • .dll / .lib / .a 的关系

MinGW / MSVC

Qt 中有两种方式编译:一种是MinGW ,另一种MSVC,是两种不同的编译器。

  1. MinGW(Minimalist GNUfor Windows),它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。
  2. MSVC,是第三方C运行时库:由微软开发的VC运行时库,被Visual Studio IDE所集成。所以我们使用VS时会附带MSVC编译器。
  3. 它们都是很好用的编译工具,但是它们兼容的并不好。当你的项目使用MinGW编译的使用,想要用一个MSVC编译生成的库时就会有问题。使用MinGW编译项目的时候,所使用的Lib也要是MinGW编译的。如果你只是开发Window平台的软件时,最好用Qt MSVC组合,这样可以使用大量的第三方lib,还有很多的构建指令。我认为在任何平台下,越贴近原生的东西总能得到更多的优化,MinGW始终不是Windows亲生的,bug比亲生的VS多很正常。

.dll / .lib / .a 的关系

在调用第三方库时总会遇到这几个格式的文件,总结一下

  • .lib:用于MSVC编译器中 (MSVC 微软自己的编译器)
  • .dll / .a:用于MinGW编译器中(MinGW gcc/g++,MinGW则是指Minimalist GNU for Windows的缩写)
  • dll:真正存放函数体的地方,所有代码内容都在dll里面,.lib里面只有符号信息。

在使用Qt MinGW编译器是需要用到.a文件以及include文件夹,以OpenCV动态库为例,需要在.pro项目文件中添加以下代码:

INCLUDEPATH += D:\Git\OpenCV-MinGW-Build-OpenCV-4.0.1-x64\include
LIBS += D:\Git\OpenCV-MinGW-Build-OpenCV-4.0.1-x64\x64\mingw\lib\lib*.a

在使用Qt MSVC编译器时需要用到.lib文件以及include文件夹,以OpenCV动态库为例,需要在.pro项目文件中添加一下代码:

win32:CONFIG(release, debug|release): LIBS += -LD:/OpenCV/opencv/build/x64/vc15/lib/ -lopencv_world410
else:win32:CONFIG(debug, debug|release): LIBS += -LD:/OpenCV/opencv/build/x64/vc15/lib/ -lopencv_world410d

或者通过图形界面直接添加库:
在这里插入图片描述

http://www.lryc.cn/news/161047.html

相关文章:

  • 【数学建模】数据预处理
  • VMware 安装 黑群晖7.1.1-42962 DS918+
  • OpenCV(二十九):图像腐蚀
  • 【网络知识点】三次握手和四次挥手
  • CSS整理
  • OpenCV 06(图像的基本变换)
  • Java 中的日期时间总结
  • 创建10个线程并发执行(STL/Windows/Linux)
  • 三、创建各个展示模块组件
  • 推荐一款程序员截图神器!
  • 无涯教程-JavaScript - IMCSC函数
  • Ubuntu22.04 LTS 显卡相关命令
  • 《TCP/IP网络编程》阅读笔记--基于 TCP 的半关闭
  • Rust的模块化
  • vmware设置桥接模式后ip设置
  • 算法通关村第十七关:白银挑战-贪心高频问题
  • 目标检测评估指标mAP:从Precision,Recall,到AP50-95
  • 七大排序算法
  • GitHub two-factor authentication
  • un-app-手机号授权登录-授权框弹不出情况
  • 手写Spring:第14章-自动扫描Bean对象注册
  • redux中间件的简单讲解
  • 嵌入式开发-绪论
  • 大数据知识合集之预处理方法
  • mysql(九)mysql主从复制
  • nodejs采集淘宝、天猫网商品详情数据以及解决_m_h5_tk令牌及sign签名验证(2023-09-09)
  • 虚拟机上部署K8S集群
  • 设计模式 - 责任链
  • 【小沐学Unity3d】3ds Max 骨骼动画制作(CAT、Character Studio、Biped、骨骼对象)
  • CUDA说明和安装[window]