(Direct3D 10) 链接静态库和动态库
若要使应用程序正常运行,主计算机必须安装相应的 DLL。 这些 DLL 可能由操作系统或应用程序的可再发行程序包提供。
库加载相应的 DLL
DirectX SDK 附带的库将在运行时自动加载正确的 DLL。 此规则的例外是 d3dx10.lib/d3dx10d.lib,它将加载该 SDK 版本随附的d3dx10.dll。 例如,如果下载的 SDK 包含 d3dx10_33.dll 和 d3dx10_34.dll,则该 SDK 附带的库 (d3dx10.lib) 将加载d3dx10_34.dll。 如果以后安装了包含 d3dx10_35.lib 的后续 SDK,则上一个 SDK 中的 d3dx10.lib 仍将加载d3dx10_34.dll。 较新 SDK 中的 d3dx10.lib 将加载d3dx10_35.dll。
重新分发二进制文件
只能重新分发同一文件d3dx10.dll (和后续版本) 。 若要重新分发此文件,必须使用 DirectXSetup 函数。 有关使用此函数和组合可再发行程序包的详细信息,请参阅 使用 DirectSetup 安装 DirectX。 Windows Vista 中包含所有其他必需的二进制文件。 唯一可以重新分发的二进制文件是位于以下目录中的二进制文件。
(SDK root)\Redist
下表描述了开发人员应注意的二进制文件。
Direct3D 10 二进制文件 | 说明 |
---|---|
d3dx10.dll/d3dx10d.dll | 零售和调试 D3DX10 组件;零售组件可以在 REDIST CAB 中重新分发。 |
d3d10ref.dll | 参考光栅器。 提供图形管道的软件实现。 仅作为 Windows SDK 或旧版 DirectX SDK 的一部分包含在内,不能重新分发。 参考光栅器仅用于调试。 不需要显式链接;尝试创建引用设备 (请参阅 D3D10CreateDevice) 将加载此 dll(如果存在)。 |
d3d10sdklayers.dll | 一系列 SDK 实用工具,充当 API 调用与运行时执行之间的层,包括 调试层 和切换到引用层。 不需要显式链接;如果使用相应的层标志创建设备,则会自动加载此 DLL。 此组件仅用于开发和调试目的。 仅作为 Windows SDK 或旧版 DirectX SDK 的一部分包含在内,不能重新分发。 |
相关主题