动态HLSL着色器链接功能(可能是有意)仅在Windows 8.1+上的DirectX 11.2中可用,我在游戏中发现了一点。我此时无法升级我的开发盒,但在不久的将来,我可以访问一台拥有Win8.1的独立机器。
有没有办法在我的Windows 7机器上使用DirectX 11.2编译(但不能运行)我的项目,这样我才能访问此功能?
答案 0 :(得分:3)
如果这是您使用的唯一11.2功能,您实际上可以在Windows 7上构建和运行它,因为您可以在应用程序中重新分发d3dcompiler_47.dll
(实现链接入口点)。只需在Win7计算机上安装8.1 SDK,您就应该最终获得构建和运行所需的所有文件:d3dcompiler.lib
,d3dcompiler.h
和d3dcompiler_47.dll
。请注意,您可以在Windows Kits\8.1\Redist\D3D
下找到dll的可再发行版本。
如果您不想在您的开发计算机上安装完整的SDK,您可以将其安装在其他地方,只需手动复制标题和库。一般来说,混合和匹配SDK组件是一个坏主意,但HLSL编译器不应该有任何可能导致问题的交叉依赖。