Qt编译错误: error: msvc-version.conf loaded but QMAKE_MSC_VER isn‘t set

方法一:清空构建目录


清空当前目录的多余文件即可,具体操作如下

一个正常的Qt项目刚被创建且没有编译时是这样的

一个main文件,一个pro文件,一个user文件,一个头文件(.h),和一个源文件(.cpp),一个ui文件(取决于创建项目的时候是否选择创建ui文件),六小件

编译之后

多了两个文件夹(debug和release),还多了.qmake.stash,Makefile,Makefile.Debug,Makefile.Release,ui_widget.h这五个文件

  • debug 和 release文件夹
    • 这两个文件夹是Qt Creator(或qmake)根据构建配置(debug或release)自动创建的。它们用于存放编译后的可执行文件、库文件以及任何必要的调试信息。
    • debug 文件夹包含调试版本的构建结果,包括可执行文件和调试符号,用于调试程序。
    • release 文件夹包含发布版本的构建结果,这些版本通常进行了优化,不包含调试符号,体积更小,运行更快。

文件

  • .qmake.stash
    • 这是一个缓存文件,用于存储qmake在解析项目文件(.pro)时收集的信息。这可以加快后续qmake运行的速度,因为它不需要每次都重新解析整个项目文件。这个文件是隐藏的,通常不需要手动修改。
  • Makefile, Makefile.Debug, Makefile.Release
    • Makefile 是一个通用的Makefile文件,但在某些情况下,它可能是一个指向特定构建配置的Makefile的链接(如Makefile.Debug或Makefile.Release)。
    • Makefile.Debug 和 Makefile.Release 分别包含用于构建debug和release版本的指令。这些文件由qmake根据.pro文件自动生成,包含了编译、链接等构建步骤的详细指令。
    • Makefile文件是make工具使用的脚本,用于自动化编译过程。
  • ui_widget.h
    • 当你有一个UI文件(如.ui文件,通过Qt Designer创建的界面文件)时,qmake和uic(UI Compiler)工具会自动将UI文件转换成C++头文件(如ui_widget.h)。这个头文件包含了UI界面元素的定义,允许你在C++代码中直接访问这些元素。例如,如果你有一个名为widget.ui的UI文件,那么生成的C++头文件可能命名为ui_widget.h

只要我们删除这几个多余的文件和文件夹,然后重新编译项目就可以正常运行了

方法二:修改配置文件(不推荐)

网上一搜一大堆,说什么打开找到并文件msvc-version.conf 在其中添加版本QMAKE_MSC_VER = 1900 (根据版本设置),但是这种方法当你更换了VS,它还会报错,而且你还要查找你的msvc版本所对应的QMAKE_MSC_VER,属实没必要,如果想用这种方法的话可以查看

QT error:msvc-version.conf loaded but QMAKE_MSC_VER isn't set - Parrallel - 博客园 (cnblogs.com)

  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值