使用VS2022编译及运行QT项目
  ajtZ4dACL54c 2023年11月02日 49 0


接手一个项目,管理硬件设备。甲方之前已经写了一个管理软件,用QT + VS写的。

我没搞过QT。基本一脸懵逼。幸亏有个嵌入式开发的大牛在旁指导和协助,最后得以编译、运行。

记录一下认识和过程

一、什么是QT?

QT是一种版本的C++。我记得以前微软有VC,visual c++,是C++没错,但它又有一些自己的类库,比如可以拖控件,方便开发桌面软件。按我的理解,VC是C++的超集;同样,QT也是C++的超集。

为啥要用QT呢?QT方便做界面,尤其是那种电气设备控制软件的界面,比如带仪表盘啥的。VC太out太难用了,就被QT取代了。

二、如何编译和运行QT + VS项目?

首先当然是安装QT了;又由于该项目,采用QT依附于VS的方式,所以还要安装QT for Visual 的插件。

关键是,安装啥版本。

我的情况是,操作系统win10,VS是2022;然后大牛说这个项目用QT5.15.2可以编译,但他的VS是2019的。版本不一致,这可咋整?

来吧。鬼叫你穷,顶硬上。

三、安装QT

首先安装QT就很不顺。我想安装QT5.15.2,但安装界面上根本就没有这个版本。也没有离线版,因为说QT5.15之后就没有离线版了,必须线上安装。但现在安装界面又没得选,都是一堆QT6。

但神奇的是,同一个安装程序,大牛的界面上就能看到Q5.15.2。难道是账号的问题?我试着用他的账号,果然能看到,还有什么开源协议之类,而我那个账号,登录后看到的是商用字样。我都不知道怎么获得一个开源许可,只好先用他的账号安装。

安装进度何其慢!我下午16点开始安装,在WIFI信号好的环境下,一直到第二天清晨7点才安装完。而且选的内容并不多,只有for visual 2019 32位,和for visual 2019 64位,大小一共是1.2G。并没有for visual 2022的,装上去之后真的可以吗?心里七上八下。(事实证明,可以)

四、在VS安装QT插件

然后安装VS插件。这个插件,可以到官网下载,也可以在visual的扩展上直接安装。在visual的扩展上直接安装吧,因为这个插件本身也有好多个版本,让visual自己控制好了。

五、编译及运行

安装好VS插件后,需要在visual上设置QT的版本。

使用VS2022编译及运行QT项目_QT 5.15.2


使用VS2022编译及运行QT项目_vs2022运行QT5_02


注意选择时候,要分清楚选32位还是64位。由于我那个项目用的是32位,结果我选了64位,总是编译报错,说找不到QT的库,报的都是

严重性 代码  说明  项目  文件  行 禁止显示状态
错误  LNK2019 无法解析的外部符号 "__declspec(dllimport) void __cdecl qBadAlloc(void)" (__imp_?qBadAlloc@@YAXXZ),函数 "void __cdecl `dynamic initializer for 'ANGLE_X''(void)" (??__EANGLE_X@@YAXXZ) 中引用了该符号  RSN E:\mysoft\HMI\Task.lib(handlerthread.obj)  1 

error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: virtual int __thiscall QThread

这类的错误。

五、小结

QT5.15.2可以结合VS2022一起跑。也许其他版本也可以。

参考文章:
Visual Studio 2022 配置 Qt 开发环境(Qt 5.15.2)


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论