C++ 仅当我在Visual Studio中运行该程序时,该程序才会执行

C++ 仅当我在Visual Studio中运行该程序时,该程序才会执行,c++,qt,C++,Qt,我一直在试图找到这个问题的解决方案,但我没有看到/找到任何正确解决这个问题的答案 我编写了一个程序(Qt+OpenCV),当我使用visualstudio运行它时,它运行得很好,但是尝试运行可执行文件时,它根本不会执行任何东西。程序没有给出任何错误:它只是永远不会启动 我不知道从哪里开始检查正在发生的事情以及为什么它还没有开始(我可以理解缺少库,一些其他错误…) 我基本上感兴趣的是什么是检查程序为什么从IDE而不是从创建的可执行文件执行时运行的最佳方法。正如我所说,如果出现问题,我希望收到一条错

我一直在试图找到这个问题的解决方案,但我没有看到/找到任何正确解决这个问题的答案

我编写了一个程序(Qt+OpenCV),当我使用visualstudio运行它时,它运行得很好,但是尝试运行可执行文件时,它根本不会执行任何东西。程序没有给出任何错误:它只是永远不会启动

我不知道从哪里开始检查正在发生的事情以及为什么它还没有开始(我可以理解缺少库,一些其他错误…)

我基本上感兴趣的是什么是检查程序为什么从IDE而不是从创建的可执行文件执行时运行的最佳方法。正如我所说,如果出现问题,我希望收到一条错误消息。有什么想法吗?关于今后如何避免这个问题,有什么好的编程建议吗


编辑:我忘了提到我是用WindowsXP机器编码的。当我试图执行文件时,它在这台机器上不工作。它在W7机器上正常执行,但不在其他W7机器上执行

可执行文件需要运行它的计算机上的QT库。在linux上,有一个命令(我认为是ldd)可以显示可执行文件需要哪些库。我不确定Windows,但应该有类似的功能。至少在linux计算机上,如果缺少QT库,它不一定会给您一个错误。可执行文件似乎什么也不做。

可执行文件需要运行它的计算机上的QT库。在linux上,有一个命令(我认为是ldd)可以显示可执行文件需要哪些库。我不确定Windows,但应该有类似的功能。至少在linux计算机上,如果缺少QT库,它不一定会给您一个错误。可执行文件似乎什么也不做。

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


如果可行,则只需将Qt bin目录放入路径中,或将dll复制到windows\system目录中

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


如果这样做有效,那么您只需将Qt-bin目录放入您的路径中,或者将DLL复制到windows\system目录中,您不仅需要路径中正确的DLL(最好在应用程序目录中),而且还需要位于正确位置的插件。请参阅我对问题的回答:。

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

在一个不工作的配置中,我拥有所有的Qt库;我记得我以前忘记了一个库,它会告诉我(显示了一个错误)。@sergi-编译器会告诉你链接器中是否缺少一个库,但它不知道运行时是否缺少dll。qt vs addin将把qt-bin目录放入path环境中,以便在其中运行VS@Martin,我在VisualStudio外面说话。将可执行文件放在一个缺少dll的文件夹中会给我一个错误(警报窗口),而此可执行文件不会发生错误;我记得我以前忘记了一个库,它会告诉我(显示了一个错误)。@sergi-编译器会告诉你链接器中是否缺少一个库,但它不知道运行时是否缺少dll。qt vs addin将把qt-bin目录放入path环境中,以便在其中运行VS@Martin,我在VisualStudio外面说话。将可执行文件放在缺少dll的文件夹中会给我一个错误(警报窗口),而此可执行文件不会发生错误。谢谢,我将重新检查此错误;但奇怪的是,它以前抱怨过几个dll,但这次却没有。发生这种情况的原因是什么?基本上,直到现在,每次dll被遗忘时,可执行文件都会给出一个错误,我不知道为什么现在它没有抱怨;我真的很想知道为什么会发生这种变化。@sergi,我在Qt上遇到的一个问题,很多Qt应用程序都附带了Qt DLL的mingw版本。这些与VS不兼容。我安装了一个应用程序,它将自己放在路径上,我自己的项目内置在VS中,但突然失败,出现了一个神秘的错误。有可能VS应用程序调用gcc构建的dll只会导致静默崩溃,我会重新检查这一点;但奇怪的是,它以前抱怨过几个dll,但这次却没有。发生这种情况的原因是什么?基本上,直到现在,每次dll被遗忘时,可执行文件都会给出一个错误,我不知道为什么现在它没有抱怨;我真的很想知道为什么会发生这种变化。@sergi,我在Qt上遇到的一个问题,很多Qt应用程序都附带了Qt DLL的mingw版本。这些与VS不兼容。我安装了一个应用程序,它将自己放在路径上,我自己的项目内置在VS中,但突然失败,出现了一个神秘的错误。VS应用程序调用gcc构建的dll可能会导致静默崩溃