静的および動的ライブラリのリンク (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 で再配布可能です。 |
d3d10d.dll | デバッグ バージョンの d3d10.dll。DirectX SDK の一部として含まれているだけで、再配布できません。 |
d3d10ref.dll | リファレンス ラスタライザー。グラフィックス パイプラインのソフトウェア実装を提供します。DirectX SDK の一部として含まれているだけで、再配布できません。リファレンス ラスタライザーは、デバッグのみを目的としています。明示的なリンクは必要ありません。リファレンス デバイスを作成しようとすると (「D3D10CreateDevice」を参照)、存在する場合はこの dll がロードされます。 |
d3d10sdklayers.dll | API 呼び出しとランタイム実行の間でレイヤーとして機能する一連の SDK ユーティリティ。デバッグ レイヤーやリファレンス切り替えレイヤーがこれに含まれます。明示的なリンクは必要ありません。該当するレイヤー フラグを使用してデバイスを作成した場合に、この DLL が自動的にロードされます。このコンポーネントは、開発およびデバッグのみを目的としており、再配布できません。 |