Когда я компилирую простую программу C ++ «Hello World» с VisualStudio (версия для сообщества 2017 г.), исполняемый файл запускается на компьютере разработчика с 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 (режим Release для x64 ):
/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
И это список библиотек, связанных с исполняемым файлом, как сообщается свалка :
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