码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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
    
    • 1
    • 2

    在使用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
    
    • 1
    • 2

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

  • 相关阅读:
    http1.0到http3.0的介绍以及新特性
    Mybatis02
    嵌入式学习笔记(28)按键和CPU的中断系统
    个人云服务器已经被安全合规等卡脖子 建议不要买 买了必定后悔 安全是个大问题 没有能力维护
    2.5、信道的极限容量!
    2022年9月5号 SpringBoot自动配置原理初步了解。
    修改Cpython解释器为python单文件代码加密(无import自己模块)
    【阿旭机器学习实战】【19】如何在不减少分辨率的情况下降低图片存储空间?K-Means算法进行图片颜色点分类存储
    APT样本分析 -plugx家族RAT⽊⻢
    Day 49 前端开发
  • 原文地址:https://blog.csdn.net/qq_18822805/article/details/132707294
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号