关于QT使用MSVC编译各种奇怪报错的情况总结

项目场景:

QT学习场景


问题描述

新建Qwidget项目,用MinGW编译器编译通过,但是用MSVC编译时一直各种报错,包括但不限于:Link1158 RC.exe无法运行,NNAME无法找到(这个后来发现勾选JOM恢复正常),MSVCRTD.dll找不到,等等问题。


原因分析:

在排查问题的过程中,发现主要问题出在MSVC的链接器环节(因为VS重新安装过,WINSDK也重新安装了,QCreator本身没有问题)。经过网上查询和请教别人之后,估计是编译器套件的版本问题。

本人的组合是QT5.15.2LTS版+VS2019,但是在QT5.15.2的安装环节显示其QT组件是VS2017版可编译,所以可能存在版本问题,QT5.15.2的QTCreator在链接MSVC2019的环节,可能存在版本冲突。


解决方案:

后续本人学习QT将用以下组合:

1、QTCreator+MinGW

2、VS2019+QT插件+MSVC

连续两个晚上的排查,我也学习到一些东西,就是了解了环境变量配置,初步搞懂了IDE、编译器、Debug、链接器、QTpro项目文档设置以及Cmake的作用。

不像以前直接vs2019打开,都已经安排好了,拿来就用。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
回答: 当使用MSVC编译器在QT中进行编译时,可能会遇到各种报错。其中一种常见的报错是"Project ERROR: Cannot run compiler 'cl'",这是因为在QT的安装目录下没有找到cl.exe文件。解决方法是下载Windows SDK,并将vcvarsall.bat文件的路径添加到QT编译器中。具体的步骤是,在QT的设置中选择MSVC编译器,然后添加vcvarsall.bat文件的路径,并选择是x86还是x64版本。然后返回到kits选项,选择刚刚配置过的编译器。\[1\] 另外,当使用MSVC编译编译Qwidget项目时,可能会遇到各种报错,如Link1158 RC.exe无法运行、NNAME无法找到、MSVCRTD.dll找不到等等。这些问题可能是由于编译器配置不正确导致的。解决方法是检查编译器的配置是否正确,并确保已勾选JOM选项。如果问题仍然存在,可能需要进一步分析具体的错误信息以找到解决方法。\[3\] 总之,当使用MSVC编译器在QT中进行编译时,需要确保正确配置编译器,并根据具体的报错信息进行逐一排查和解决。 #### 引用[.reference_title] - *1* *2* [QT使用MSVC编译报错:Project ERROR: Cannot run compiler ‘cl‘以及后续问题解决](https://blog.csdn.net/wang_mu_mu_/article/details/126983472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [关于QT使用MSVC编译各种奇怪报错情况总结](https://blog.csdn.net/weixin_47187658/article/details/125531357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值