VS2022+QT 解决windeployqt工具打包发布运行缺少.DLL组件的问题 无法定位程序入口问题(打包海康程序无法定位程序入口)(程序运行管理员权限)

📅 2026/7/22 16:53:07 👁️ 阅读次数 📝 编程学习
VS2022+QT 解决windeployqt工具打包发布运行缺少.DLL组件的问题 无法定位程序入口问题(打包海康程序无法定位程序入口)(程序运行管理员权限)

目录

问题一:无法定位程序输入点

问题二:缺少XXX.dll组件

问题三:如何判断DLL组件是32位还是64位

问题四:海康SDK C++二次开发打包无法定位程序入口

问题五:如何使打包好的程序运行管理员权限


问题一:无法定位程序输入点

作者这里在另外一台没有安装支撑环境的电脑中运行程序报错,其中msvcp140d.dll组件为复现此错误从网上下载;

造成原因:使用windeployqt工具打包时, 没有链接到 Microsoft Visual C++ Redistributable 动态链接库所造成的;

解决办法:确保程序运行时的环境与编译时的环境一致;

Microsoft Visual C++ Redistributable的文件通常被放置在以下目录中:

x64(64位)库:C:\Windows\System\

x86(32位)库:C:\Windows\System32\

右上角搜索文件"msvcp140"

复制 msvcp140d.dll msvcp140_1d.dll msvcp140_2d.dll 组件粘贴到程序根目录中,在电脑没有安装支撑环境的情况下也可正常运行;

问题二:缺少XXX.dll组件

注意:除了msvcp140.dll msvcp140d.dll msvcp140_1d.dll msvcp140_2d.dll 组件需程序运行时的环境与编译时的环境一致,其他 .DLL组件 复制到程序根目录中即可运行;

通过百度网盘分享的文件:QT缺失DLL组件.zipx64位DLL组件
链接:https://pan.baidu.com/s/13HgTrCFNdIn3hvdopuAtmg?pwd=52hx
提取码:52hx

问题三:如何判断DLL组件是32位还是64位

用记事本打开DLL组件

64位:PE D 32位:PE L

问题四:海康SDK C++二次开发打包无法定位程序入口

原因是安装了MVS软件里面搜索不到MVCameraControl.dll组件,搜出来的全是MvCameraControl.Net.dll组件。

解决办法:在网上搜索了很多办法,以为是VS内部将MvCameraControl.Net.dll隐性转为MVCameraControl.dll了

因为项目中也只是包含以下两个目录使用

C:\Program Files (x86)\MVS\Development\Includes (头文件)

C:\Program Files (x86)\MVS\Development\Libraries\win64 (库文件)

但是项目中确确实时又在用MVCameraControl.dll组件,奇怪。

查了查AI,在整个C盘搜索MVCameraControl.dll组件

结果猜怎么着,在以下目录里面竟然找到了该组件,很神奇吧,问题是安装MVS软件的时候,啥时候装在这里的,TA 奶奶的,安装的时候怎么没说,C++的全在这里,C#的从软件当前安装路径就可以进去,服气,要不是我搜索了整个盘,谁知道这里还有个MVS文件夹,我还特地重装了一遍MVS,确实是默认就放在这个位置,库文件和头文件一个位置,动态库又在一个位置,你放一起是有啥问题吗

也可以直接安装以下组件包,直接就有

机器视觉工业相机SDK V4.6.1版本Runtime组件包(Windows)

属于是踩坑了

问题五:如何使打包好的程序运行管理员权限

项目属性->链接器->清单文件->UAC执行级别修改为requireAdministrator