api-ms-win-core-libraryloader-l1-2-0.dll丢失,当d3dcompiler_47.dll被重新分发

根据Windows 8.1 DirectX SDK的指示,d3dcompiler_47.dll将从现在开始用任何Direct3D程序重新分配。 当我尝试在Windows 7机器上运行我的程序与此dll在相同的文件夹中,我得到一个“api-ms-win-core-libraryloader-l1-2-0.dll丢失”错误。 快速谷歌searchbuild议这是因为一个版本的混淆 – d3dcompiler_47.dll与本机不兼容? 我已经检查过,以确保它安装了DirectX 11,这是我正在使用的DirectX版本,并且无法弄清楚为什么会发生这种情况。

如果您从Windows目录复制d3dcompiler_47.dll,这只会出错。 哪个不适合在较旧的Windows版本上运行。

必须使用它的可再发行版本。 你会发现它在Windows SDK目录中。 像大多数机器上的C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Redist \ D3D。 根据您用于编译程序的平台目标选择x86或其x64版本。