VS配置QT环境

发布时间 2023-11-30 16:27:19作者: Breezy~

1.下载QTCreator,下载QT的vsaddin :https://download.qt.io/archive/

2.在VS中配置qtvs路径

3.vs创建的QT项目导出成pro程序时可能出现的问题:找不到ui.h

参考:https://blog.csdn.net/QSCJOB/article/details/104994737

背景:VS导出.pro工程用QTCreator编译报错为找不到ui_xx.h文件,原因是xx.ui文件没有被mic.exe编译。

先说结论:在导出的.pro文件或.pri添加上一行 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 即可

 

以下是解决过程:

对比刚学的视频教程发现VS工程中,没有Generated Files文件夹。

以下内容引自:https://www.cnblogs.com/ljy339/p/12040151.html

记得在使用低版本的vs时是可以生成Generated Files文件夹的,但在使用vs2019配合最新版本(2.4.2)的Qt VS Tools发现无法生成该文件夹,感觉非常奇怪。在网上一通搜索,找到了这篇Qt VS Tools 2.4版本功能改进的说明,https://www.qt.io/blog/2019/08/19/qt-visual-studio-tools-2-4-rc-released。大概就是说更好的与vs进行了集成,我猜测正是因为这个原因导致无法生成Generated Files文件夹。

可以发现这个不是不存在ui_xx.h文件的原因;网上查询资料,ui_xx.h是编译器从xx.ui文件生成的,VS工程编译是可以自动生成的,但是到了QTCreator却不行了。

转而查询xx.ui不编译的原因,网上得到的资料是qmake会根据内容自动生成makefile文件,在makefile文件里面有调用mic.exe去编译xx.ui的命令行。

查看导出工程的makefile文件,的确没找到mic.exe调用的相关信息;用QTCreator工程新建一个新的UI工程,里面的makefile文件是能找到的。

那怎么能让qmake里面调用mic.exe呢,网上找了一圈,大概都是说只要在.pro文件里面加入 FORM+= xx.ui文件就行了;我看了下导出的.pro文件没有这个,但是对应的.pri文件里面有啊;那把.pri里的FORM+= xx.ui提取到.pro里面去;测试了,还是不行。

这就尴尬了,想了下;发现只是测试工程,东西不多;那不是简单对比下和QTCreator创建的工程就行了;简单分析,其他的文件其实都一样的;就他.pro文件改成一样;诶,发现可以编译通过。

再采用排除法,最后锁定 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 是缺了这个导致的。

简单的工程,VS导出来的,竟然没有把widgets模块加进去,神操作啊!
4.VS创建QT项目调试过程中会出现qtmsbuild文件路径问题