【问题标题】:Initializing a QApplication fails in release mode of MSVC在 MSVC 的发布模式下初始化 QApplication 失败
【发布时间】:2015-02-04 09:52:50
【问题描述】:

我正在 MSVC 中创建一个 Qt 应用程序。

在我的main 方法中,我使用QApplication app(argc, argv); 创建了一个QApplication

当我在DEBUG mode 中构建程序时,程序运行良好。但是,当我在RELEASE mode 中构建程序时,程序在QApplication app(argc, argv); 行关闭。

当程序关闭时我没有收到错误消息,所以我相信它不是崩溃,而是一些内置的 QApplicaiton 对错误的响应。

关于为什么会发生这种情况的任何建议?

【问题讨论】:

  • 到底是怎么崩溃的(可能有一些错误信息)?
  • 由于是release模式,所以不会出现错误。程序只是关闭...
  • 您的 QT 库是如何构建的?也许您只有调试版本,而没有发布版本?
  • 您是否还加载了其他一些库 - 由其他一些编译器编译?这看起来确实像一些库 ABI 问题。 QApplication 不应轻易崩溃。
  • @BrunoLubascher 如果这解决了您的问题,您可以考虑自行回答您的问题。这样一来,任何通过搜索类似问题找到您的问题的人都可以使用该解决方案。

标签: c++ qt release


【解决方案1】:

问题是 Qt 需要一些我的程序可执行目录中缺少的 dll。

因为是发布模式,所以没有弹出错误,所以程序就直接关闭了。

为了解决这个问题,我必须使用DependencyWalker 来确定我的程序使用了哪些 dll。在找出需要哪些 dll 之后,我将它们放在可执行文件的目录中。一切都按预期进行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    相关资源
    最近更新 更多