Qt5.12配置问题:shell32.lib打不开、找不到windows.h的解决方案

在Qt5.12.0 + VS2017的配置过程中,遇到shell32.lib打不开和windows.h找不到的问题。解决方案包括在项目构建环境中添加特定的INCLUDE和LIB路径,涉及Windows SDK和Visual Studio的相关目录。问题最终解决,但未找到根本原因。
部署运行你感兴趣的模型镜像

Qt5.12配置问题:shell32.lib打不开、找不到windows.h的解决方案

Qt5.12.0 + vs2017配置过程网上有很多教程,一般按照流程基本都可以成功。但是!笔者根据网上的经验,一直配置失败,出现的现象是这样的:
(1)如果新建一个Qt Widgets Application,错误原因就是“shell32.lib”打不开;
(2)如果是任意打开一个Qt自带的example,错误原因就是“windows.h”找不到;

编译器系统都自动检测好的,一切都没有问题,环境变量也和网上教程一样进行了配置的。百思不得其解~~~~

通过在网上搜索网友们类似相同的情况,都没能解决问题!!但是,最终同门的小伙伴把问题锁定在了 Windows SDK中的问题,因为shell32.lib只存在于Windows Kits里面,一定是QT和VS2017之前没能建立起有效的联系。

一、解决方案

  1. 在项目里–>>构建环境在这里插入图片描述2.找到INCLUDE和LIB
    (1)将下面几个路径加入Include(如果没有就在环境变量里新建INCLUDE)里:
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include;
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include;
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\winrt;
    图2.1 图2.2 INCLUDE添加的三个文件夹
    (2)将下面四个路径放入LIB中(注意要和编译器的位数对应)
    针对vs2017 64bit的编译器:
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\lib\x64;
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64;
    C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64;
    C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64;

    针对vs2017 32bit的编译器:
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\lib\x86;
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x86;
    C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x86;
    C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86;

在这里插入图片描述
(3)最后还出现了小插曲就是——rc.exe运行不了
请参考:

[VS2015+QT5.10 无法运行“rc.exe”](h

VS2015+QT5.10 无法运行“rc.exe”

最后,问题解决!

二、总结

为了不每次重建QT项目就配置环境,笔者直接把上述的变量加到了系统变量INCLUDE 和LIB 中。

虽然没有找到这个问题的根本原因(因为其他小伙伴并没有像笔者这样进行环境变量的配置和更新),但是最终是解决了,欢迎知道实质性原因的朋友在评论区留言!!!

您可能感兴趣的与本文相关的镜像

Anything-LLM

Anything-LLM

AI应用

AnythingLLM是一个全栈应用程序,可以使用商用或开源的LLM/嵌入器/语义向量数据库模型,帮助用户在本地或云端搭建个性化的聊天机器人系统,且无需复杂设置

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值