VS2015中内置的程序的发布版本与Qt运行然后关闭没有错误?



我正在尝试构建我的国际象棋引擎的发布版本,该引擎是在Qt环境中构建的,最近被移植到Visual Studio 2015环境中。调试中一切运行良好,在这里使用这篇文章,我能够使用 windeployqt.exe 来获取给出错误消息的依赖项。

但是现在当我运行它时,它会在进程资源管理器中显示大约 3-4 秒,然后消失。它没有抛出任何错误,所以我不确定出了什么问题。可能是它需要一个我还没有复制的依赖项?据我所知,没有什么会导致它运行和退出,它在调试期间永远不会这样做。

关于在哪里寻找答案的任何提示或方向将不胜感激!谢谢。

尽管听起来微不足道,但欢迎来到C++!您正在使用一种非常低级的语言进行编程,错误有时可能会使您的程序崩溃,而没有明显的错误。这不是Java或Python或一些高级语言,一切都为您完成。换句话说,如果你搞砸了,你可能会遇到像你一样奇怪的崩溃。

您可以执行许多操作:

  1. 删除所有已编译的文件并从头开始重建它们。将问题与旧代码链接通常会导致您所描述的内容

  2. 如果您添加了要链接到的库列表(Qt除外(,请确保需要它们的每个库。创建一个新的"Hello world"程序并链接到它们,看看你是否会得到同样的崩溃。

如果不是链接问题,则很可能是存在访问冲突(或段错误(。

  1. 调试模式下运行程序,看看是否获得有关错误的任何信息。

  2. 最后的手段是低级、愚蠢的二叉搜索cout方法。基本上,您在程序的不同位置打印一条消息,并查看propgram将在哪个消息停止。我之所以称它为"二叉搜索",是因为如果有 N 个地方要测试,使用二进制测试方法你只需要大约 log(N( 编译来查找问题,这不是很多,但会花费你一些时间来重新编译程序。换句话说:继续打印消息,直到你看到它们停止出现的地方,然后责怪那行。

祝你好运。

相关内容

最新更新