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,使得编译出错
至于是否真的是这样,就还需要更多的尝试了
特此进行记录,
如果如果有遇到类似问题的,
可以尝试使用相同的方法进行解决
也希望对该问题有了解的前辈可以讲解一下其中的具体原因