C++ Windows 7上的DirectX 11.2开发

C++ Windows 7上的DirectX 11.2开发,c++,windows-7,directx,windows-8.1,directx-11,C++,Windows 7,Directx,Windows 8.1,Directx 11,动态HLSL着色器链接功能(可能是有意的)仅在Windows 8.1+上的DirectX 11.2中可用,我在游戏中晚些时候才发现这一点。我现在无法升级我的开发设备,但在不久的将来,我可能可以访问一台单独的机器,它有Win8.1 有没有办法在我的Windows 7机器上用DirectX 11.2编译(但不运行)我的项目,这样我就可以访问此功能?如果这是您使用的唯一11.2功能,您实际上可以在Windows 7上构建并运行它,因为您可以重新分发d3dcompiler_47.dll(实现链接入口点)

动态HLSL着色器链接功能(可能是有意的)仅在Windows 8.1+上的DirectX 11.2中可用,我在游戏中晚些时候才发现这一点。我现在无法升级我的开发设备,但在不久的将来,我可能可以访问一台单独的机器,它有Win8.1


有没有办法在我的Windows 7机器上用DirectX 11.2编译(但不运行)我的项目,这样我就可以访问此功能?

如果这是您使用的唯一11.2功能,您实际上可以在Windows 7上构建并运行它,因为您可以重新分发
d3dcompiler_47.dll
(实现链接入口点)与你的申请。只需在Win7机器上安装8.1 SDK,您就可以得到所有需要构建和运行的文件:
d3dcompiler.lib
d3dcompiler.h
d3dcompiler_47.dll
。注意:您可以在
windowskits\8.1\Redist\D3D
下找到dll的可再发行版本

如果您不想在您的开发人员机器上安装完整的SDK,您可以在其他地方安装它,只需手动复制头和库即可。一般来说,混合和匹配SDK组件是个坏主意,但是HLSL编译器不应该有任何会导致问题的交叉依赖关系