美文网首页
win10下VS+QT混合编程

win10下VS+QT混合编程

作者: FelixCoder | 来源:发表于2019-03-27 16:52 被阅读0次

    Visiual Studio与QT对比

    Win10下VS进行c++编程的痛点

    • 功能没有整合,变量名、类名都贼长(是见名知义了,但是每次看都要半天,而且这么长的变名字导致程序密集,看的眼疼)
    • 总是需要大段大段复制粘贴(为什么不把一大段功能整合?)
    • MFC界面功能完善但是外观老套布局难(相比之下QtCreator就好很多,这也是QtCreator+QT类库用来做界面程序最大的优势了)

    QT的优点

    • 功能集成度高、功能分类明确、编程时逻辑清晰
    • 跨平台,在linux和win下基本不用考虑操作系统差异

    QT的缺点

    • 环境配置远远不如Visual Studio,QtCreator配置环境全部放到.pro文件中,默认使用qmake配置工程,而不是cmake,原意应该是想更加简化cmake适应qt的环境,但是明明在qmake配置过(不论是头文件还是库文件),但是重新构建就是不管用,无解
    • 编译时,常常出现symbol not found错误,一个简单的程序,又没有用到自己外部的库,却老是出现这种莫名其妙的错误
    • 我的熟练的Ctrl+Z技能应该就是大二那会用QT练起来的,明明只是简单的加了几个回车,编译后缺出现symbol not found错误,赶紧回退回退,有时候万一不小心存盘了又找不到旧版,出现symbol not found后然后就完全没办法让程序通过编译,然后又要新建工程,然后把文件都拷贝过来,改来改去

    VS+QT取长补短

    上面说到了,VS在win下做c++开发天下无敌的有点就是完全可视化的环境配置,所有的头文件、库等等配置全部通过工程的属性中可以设置,相比于Qt Creator为了满足跨平台的需求,必须通过qmake文件(cmake也一样)配置,这种手动输入的方法,对于非常熟练、经验十足的大佬来说没有问题,但是对于一般人来说,要了解所有的qmake中特殊变量名比直接鼠标点点难得多,而且在windows下运行的程序,依赖的环境变量、还有很多我也不知道的东西,感觉比linux下多很多,如果全部都通过手敲代码的形式配置,又麻烦又难记。
    所以综合这两者的优缺点,采用VS作为IDE用来配置工程依赖+QT类库进行开发,这种方法可行,很大程度上是自称宇宙第一无敌IDE Visual Stidio的功劳,完美得QT插件使得Qt、QtCreator等都可以完美集成到VS中来做(人家QT并不想鸟你而你却强行把人家包含进来干什么!),事实正面,VS在这方面做的确实很好,试了下,基本上不费事,可以完美在VS中开发QT,而且再也不用管qmake文件得编辑了

    VS+QT安装

    QT安装

    • qt版本:5.9.3
    • 下载地址:http://download.qt.io/archive/qt/5.9/5.9.3/
    • 安装注意事项,编译器一定要选择msvc2015-64bit选项,其他可以都不用选择(msvc是win下专用的c++编译器,微软出品;工业相机的SDK程序出厂测试编译器是msvc;VS对msvc的支持性最好)

    VS安装

    QT与VS完美融合

    教程地址:https://blog.csdn.net/yzy_1996/article/details/81939610

    OPENCV安装

    大恒相机SDK安装

    采坑记录

    无法解析的外部符号 WinMain

    这是因为windows应用程序分为两种,一种是console(控制台),另一种是windwos(窗口),QT相对于VS的分类属于console,需要将项目/属性/链接器/子系统一栏设置为:(/SUBSYSTEM:CONSOLE),如果设置为(/SUBSYSTEM:WINDOWS)则会找不到WinMain符号

    stdafx.h not found

    将程序中的这一句话注释,然后将项目/属性/c/c++/预编译头/预编译头一栏修改为不使用预编译头

    #include "QLabel" QLabel not found

    这是因为Qt5.9.3中,将QT加入VS后,默认只添加了QT_DIR/msvc2015_64/include/为include路径,但是QLabel文件再include/QtWidgets路径下,因此要改为使用#include "QtWidgets/QLabel",或者手动将QT_DIR/msvc2015_64/include/QtWidgets添加到include路径中

    相关文章

      网友评论

          本文标题:win10下VS+QT混合编程

          本文链接:https://www.haomeiwen.com/subject/mcqtbqtx.html