近期在64位平台编译C++代码,能够成功编译,但运行时遇到错误码为0xc000007b的应用程序无法正常启动错误,用dependency walker分析生成的exe文件发现以下问题:

可以发现很明显出问题的原因在于SysWOW64/ucrtbased.dll这个文件,它是32位的,导致64位编译出来的程序无法运行。但按理说64位平台下编译会优先去System32文件夹下搜索所需的文件,这里大概是System32文件夹下ucrtbased.dll文件缺失所致。

因此只需下载到64位的ucrtbased.dll文件,放入System32文件夹下,即可。

可从下面网页下载到所需的文件: