【问题标题】:Application was unable to start correctly (0xc000007b)应用程序无法正确启动 (0xc000007b)
【发布时间】:2014-07-21 05:48:20
【问题描述】:

我无法调试应用程序,总是得到 0xc000007b 我正在使用以下配置: QT 5.3.0 MSVC 2012 64位编译。 我将以下库添加到我的链接中: Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib; (可选)我也尝试添加以下内容(出于绝望): qtmain.lib;libEGL.lib;libGLESv2.lib;

我在路径中有以下 dll: Qt5Core.dll Qt5Gui.dll Qt5Widgets.dll 再次(出于绝望)将以下 dll 添加到路径中: qwindows.dll qminimal.dll libEGL.dll libGLESv2.dll

我使用dependancy walker验证了所有的dll都是64位的

这是代码:

void Bar(int argc, char* argv[])
{
    try {
        QApplication app(argc, argv);
    } catch (...) {
    }
}

当我评论主线时

void Bar(int argc, char* argv[])
{
    try {
        //QApplication app(argc, argv);
    } catch (...) {
    }
}

我没有收到任何错误,当然,我所说的错误是指应用程序甚至无法启动...

主要是:

int _tmain(int argc, _TCHAR* argv[])
{
    Bar(argc, reinterpret_cast< char ** >(argv));
}

这是输出中显示的错误:
“QtTest.exe”(Win32):已加载“C:\workspace\plugin\TrdParty64\Qt5Core.dll”。模块是在没有符号的情况下构建的。
'QtTest.exe' (Win32): 卸载'C:\workspace\plugin\TrdParty64\Qt5Core.dll'
“QtTest.exe”(Win32):已加载“C:\workspace\plugin\TrdParty64\Qt5Core.dll”。模块是在没有符号的情况下构建的。
'QtTest.exe' (Win32): 卸载'C:\workspace\plugin\TrdParty64\Qt5Core.dll'
程序“[8936] QtTest.exe”已退出,代码为 -1073741701 (0xc000007b)。

【问题讨论】:

  • 您遇到什么错误?编译错误还是运行时?
  • 那你没有得到什么错误?您能否展示更多内容,而不仅仅是“无法正确启动?您如何尝试运行此示例?另外,请展示您拥有的应用程序的所有代码。如果太大,请争取SSCCE
  • 请给我们看看 main()
  • 向我们展示整个文本错误。 0xc000007b 可能意味着很多事情。
  • 路径中有 msvc 运行时 dll 吗?

标签: c++ windows qt visual-c++


【解决方案1】:

qwindows.dll(和 qminimal.dll)需要在平台/相对于您的可执行文件(或在您的路径中)

也许这就是问题所在?

还要确保所有 dll 都是正确的 Qt 版本(例如 5.5.0 与 5.5.1)

【讨论】:

    猜你喜欢
    • 2019-08-29
    • 2016-11-13
    • 2017-08-21
    • 1970-01-01
    • 2020-05-13
    相关资源
    最近更新 更多