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)

 

 

 

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

 运行并且使用ProcessExplorer



 

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

 

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

 

最后总结:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值