无法打开文件shell32.lib

如题所述

1、一般打不开dll文件的话,就是调用出错。这时候应该将对应的lib文件靠近相应目录试试。如果不行的话。就要考虑库是不是有问题了
2、编译器配置问题吧,lib环境变量中的各个目录里没有就重装吧,或者用绝对路径试下。

3、检查你的lib搜索目录,如果缺少这个文件,从vc++安装盘或者网上找文件拷贝进来。

扩展资料:
分享一个实际解决问题案例:
前段时间在调试qt程序的时候,出现了这样一种情况

编写好的qt程序在qtcreator中,使用mingw编译没有任何问题。
当把编译器切换为msvc(即vs2017的编译器)时,总是会出现cannot open file “shell32.lib
不断的确认库的配置是否正确,以及该文件是否存在,结果都是库的路径正确,文件存在,但就是使用msvc无法编译通过
经过一段时间的思考,既然在qtcreator中使用msvc编译器不行

那么直接在vs2017里面编译qt程序是否是可行的

要在vs中运行qt程序,必须要安装qt的插件
可以百度搜索 qt vs tools

下载好对应版本的插件后,确保vs处于关闭状态,双击vsix就可以很简单的安装好了

安装好后还需要进行配置
在这里插入图片描述
点击qt options,依次
Qt Option->Qt Version->add->安装Qt的路径
Qt的安装路径下会有一个msvc的文件夹,就选择该文件夹
插件就会自动识别对应版本
在这里插入图片描述
点击ok完成

开始

点击Qt VS Tools,再点击open Qt project file
打开你的qt程序
开始编译,然后出现了很多错误,但大部分都是报头文件丢失的问题
在编译错误的最下方,说无法找到windows SDK (10.0.190–)

太好笑了,vs2017安装到最新了也只到10.0.17呀

那就更改一下vs的SDK版本 ,到当前的sdk版本

重新点击运行,完美运行,调试正常

结论

可能是由于qt程序默认的sdk版本号过高
当前的vs没有提供合适的sdk,使得编译出错
至于是否真的是这样,就还需要更多的尝试了

特此进行记录,
如果如果有遇到类似问题的,
可以尝试使用相同的方法进行解决
也希望对该问题有了解的前辈可以讲解一下其中的具体原因
温馨提示:答案为网友推荐,仅供参考
相似回答