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之前没能建立起有效的联系。
一、解决方案
-
在项目里–>>构建环境
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)将下面四个路径放入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
最后,问题解决!
二、总结
为了不每次重建QT项目就配置环境,笔者直接把上述的变量加到了系统变量INCLUDE 和LIB 中。
虽然没有找到这个问题的根本原因(因为其他小伙伴并没有像笔者这样进行环境变量的配置和更新),但是最终是解决了,欢迎知道实质性原因的朋友在评论区留言!!!
在Qt5.12.0 + VS2017的配置过程中,遇到shell32.lib打不开和windows.h找不到的问题。解决方案包括在项目构建环境中添加特定的INCLUDE和LIB路径,涉及Windows SDK和Visual Studio的相关目录。问题最终解决,但未找到根本原因。
1451

被折叠的 条评论
为什么被折叠?



