(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 的一部分包含在内,不能重新分发。

 

Direct3D 10 编程指南

Direct3D 10 图形