VisualStudio C ++创建了无法在其他Win10计算机上部署的可执行文件(错误“ 0xc000007b”)

时间:2020-01-27 09:43:54

标签: windows visual-c++

当我使用VisualStudio(2017社区版)编译一个简单的“ Hello World” C ++程序时,该可执行文件在装有Windows 10的开发计算机上运行,​​但是在具有相同操作系统和体系结构的另一台计算机上,该程序无法启动错误“ 0xc000007b”(“应用程序无法正确启动”)。

有人建议我可以尝试使用VisualStudio创建可移植可执行文件吗?这似乎是VisualStudio的常见问题,但我在网络上找不到解决该问题的有用方法。

这是我程序的C ++代码:

#include <Windows.h>

int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int cmdShow)
{
    MessageBox(NULL, "Program started", "Message", MB_OK);
    return 0;
}

这是根据VisualStudio使用的一组编译选项( x64 Release 模式):

/GS /TP /W3 /Zc:wchar_t /I"D:\test\build" /I"D:\test"
/I"C:\Program Files (x86)\Visual Leak Detector\include" /Gm- /O2 /Ob2
/Fd"test1.dir\Release\vc141.pdb" /Zc:inline /fp:fast /D "_WINDOWS"
/D "_VARIADIC_MAX=10" /D "NOMINMAX" /D "NDEBUG" /D "CMAKE_INTDIR=\"Release\""
/D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /GR /Gd /Oy /MD /Fa"Release/"
/EHsc /nologo /Fo"test1.dir\Release\" /Ot /Fp"test1.dir\Release\test1.pch" /diagnostics:classic

这是 dumpbin 报告的链接到可执行文件的库的列表:

D:\test\build\Release>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\dumpbin.exe" /DEPENDENTS test1.exe
Microsoft (R) COFF/PE Dumper Version 14.16.27032.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Dump of file test1.exe

File Type: EXECUTABLE IMAGE

  Image has the following dependencies:

    USER32.dll
    VCRUNTIME140.dll
    api-ms-win-crt-runtime-l1-1-0.dll
    api-ms-win-crt-math-l1-1-0.dll
    api-ms-win-crt-stdio-l1-1-0.dll
    api-ms-win-crt-locale-l1-1-0.dll
    api-ms-win-crt-heap-l1-1-0.dll
    KERNEL32.dll

  Summary

        1000 .data
        1000 .pdata
        1000 .rdata
        1000 .reloc
        1000 .rsrc
        1000 .text

1 个答案:

答案 0 :(得分:1)

您需要在目标计算机上安装适当的 Visual C ++ Redistributable

Redistributable for Visual C++ 2015, 2017, 2019

在您的开发计算机上,Visual Studio已经安装了它。