vs2010 qt release 下可执行文件不能运行

 

问题:vs2010 qt release 下可执行文件不能运行,但是已属性管理员可以运行

 

最新在使用vs2010 开发qt 程序中发布release程序的时候出现的一些问题,以下个人做个总结希望能帮助需要的人。

项目开发背景:

项目环境使用的是vs2010、qt5.0.0、win8

开发目标:

程序在debug、release 模式下通过vs2010 编译器运行正常,最终需要将release版本程序(这里将对应qt的dll 文件都拷贝这里了另外加上plugins目录),拷贝其他电脑进行运行。

 

以下遇到的问题:

在工程中对应release 目录下(D:\GitHub\zxjyu-pc\bin\Win32\Release)

 
vs2010 qt release 下可执行文件不能运行_第1张图片
 
vs2010 qt release 下可执行文件不能运行_第2张图片
 

点击运行对应xxxx.exe发现没有任何反映,但是通过鼠标右击选择管理员权限运行是可以正常运行的,这时候考虑的就是是否项目中进行了权限设置最后有进行设置UAC执行级别,但是还是不能直接点击程序运行。该问题纠结1天了,最后通过vs在release模式下
vs2010 qt release 下可执行文件不能运行_第3张图片
 运行并且使用ProcessExplorer


vs2010 qt release 下可执行文件不能运行_第4张图片
 

来查看xxxx.exe文件的依赖,通过分析发现其中有qt部分dll 是直接使用D:\GitHub\zxjyu-pc\bin\Win32\Release下的xxxx.dll ,qwindows.dll 这个dll引用地址是我对应qt安装的目录下的,这时候我直接把release 目录下的plugins 里面的目录文件直接拷贝到release下(plugins 目录下存在imageformats、platforms)
vs2010 qt release 下可执行文件不能运行_第5张图片
 

然后在点击xxxx.exe 直接可以运行。

 

最后总结:

这里是由于exe文件需要访问本地资源没有权限。最好是排查下exe文件对应依赖是否在当前目录下,如果不是这时候运行肯定失败。最后有几个分析exe依赖的工具,ProcessExplorer、depends 工具。

你可能感兴趣的:(qt,vs2010)