程序仅在我在Visual Studio中运行时执行

时间:2011-07-12 01:45:24

标签: c++ qt

我一直在努力为这个问题找到解决办法,但我无法查看/找到正确解决问题的答案。

我编写了一个程序(Qt + OpenCV),当我使用Visual Studio运行它时工作正常,但尝试运行可执行文件它根本不执行任何操作。该程序不会给出任何错误:它永远不会启动。

我不知道从哪里开始检查发生了什么以及为什么它甚至没有启动(我可以理解缺少库,还有一些其他错误......)。

我基本上对从IDE执行时检查程序运行原因的最佳方法感兴趣,而不是从创建的可执行文件中执行。正如我所说,如果出现问题,我期待一条错误消息。有任何想法吗?关于如何在将来避免这个问题的任何良好的编程建议?

编辑:我忘了提到我正在用Windows XP机器编码。当我尝试执行该文件时,它在此机器中不起作用。它在W7机器上正常执行,但在其他W7机器上没有。

3 个答案:

答案 0 :(得分:3)

可执行文件需要运行它的计算机上的QT库。在Linux上有命令(我认为ldd),它将向您展示您的可执行文件所需的库。我不确定Windows,但应该有类似的东西。至少在Linux计算机上,如果缺少QT库,它不一定会给你一个错误。可执行文件似乎什么都不做。

答案 1 :(得分:1)

尝试将可执行文件复制到与Qt'bin'目录中的.dll文件相同的目录中。

如果可以,那么您只需将Qt bin目录放入路径,或将dll复制到windows \ system目录

答案 2 :(得分:0)

您不仅需要路径中的正确dll(最好在应用程序目录中),还需要正确位置的插件。请参阅我对问题的回答:Qt dll deployment on windows