现在有编译成功的windows exe程序,它可以在其他的电脑上正常运行,为什么在我的电脑上无法运行?
具体现象为:双击运行后电脑没有反应,但是查看任务管理器里面的进程有它,并且无法结束此进程.此程序运行需要额外的opencv的几个dll文件,在其他电脑上若是没有这些dll文件,那么会显示"缺少某某某dll文件,程序无法运行",但是在我的电脑上仍然是无法运行.若是此exe同目录下有需要的dll文件,那么其他电脑可以正常运行,我的电脑无法运行.我的win7与别的电脑上的windows不是完全相同的版本.
请问有没有大神遇到过类似的问题呢?
如果你的程序是通过loadlibrary等动态方式加载的dll,那么表现出来就是不会有错误提示,而是程序丢出异常,你可以在系统日志中看到。
程序在不同环境中运行,因为不同的环境,你的程序存在没有发现的bug,也是可能的,比如外部文件路径不正确,数据不正确等。
还有杀毒软件或者别的软件也可能干扰你的程序的运行。
找一个depends工具,分32位和64位的,用管理员权限运行一次后可以右键查看exe文件所需的dll文件以来,估计你的问题就是那个exe程序所需的其他dll库没有在另一台电脑上所以不能运行。