Verknüpfen statischer und dynamischer Bibliotheken (Direct3D 10)
Damit eine Anwendung ordnungsgemäß ausgeführt wird, müssen auf dem Hostcomputer die entsprechenden DLLs installiert sein. Diese DLLs können entweder vom Betriebssystem oder vom verteilbaren Paket der Anwendungen bereitgestellt werden.
Bibliotheken laden geeignete DLLs
Die im DirectX SDK enthaltenen Bibliotheken laden automatisch die richtigen DLLs zur Laufzeit. Die Ausnahme von dieser Regel ist d3dx10.lib/d3dx10d.lib. Dadurch wird die d3dx10.dll geladen, die mit dieser Version des SDK ausgeliefert wurde. Wenn das heruntergeladene SDK beispielsweise d3dx10_33.dll und d3dx10_34.dll enthält, lädt die Bibliothek (d3dx10.lib), die mit diesem SDK ausgeliefert ist, d3dx10_34.dll. Wenn später ein nachfolgendes SDK installiert wird, das d3dx10_35.lib enthält, wird d3dx10.lib aus dem vorherigen SDK weiterhin d3dx10_34.dll geladen. Die d3dx10.lib aus dem neueren SDK lädt d3dx10_35.dll.
Weiterverteilen von Binärdateien
Nur d3dx10.dll (und nachfolgende Versionen derselben Datei) können neu verteilt werden. Zum Verteilen dieser Datei müssen Sie die DirectXSetup-Funktion verwenden. Ausführliche Informationen zur Verwendung dieser Funktion und zum Zusammenstellen eines verteilbaren Pakets finden Sie unter Installieren von DirectX mit DirectSetup. Alle anderen erforderlichen Binärdateien sind in Windows Vista enthalten. Die einzigen Binärdateien, die neu verteilt werden können, sind diejenigen, die sich im folgenden Verzeichnis befinden.
(SDK root)\Redist
In der folgenden Tabelle werden die Binärdateien beschrieben, die Entwickler beachten sollten.
Direct3D 10-Binärdateien | Beschreibung |
---|---|
d3dx10.dll/d3dx10d.dll | Einzelhandel und Debuggen von D3DX10-Komponenten; die Einzelhandelskomponenten können im REDIST CAB neu verteilt werden. |
d3d10ref.dll | Referenzrasterizer. Stellt die Softwareimplementierung der Grafikpipeline bereit. Nur als Teil des Windows SDK oder des Legacy-DirectX-SDK enthalten und kann nicht weiterverteilt werden. Der Verweisrasterer ist nur für das Debuggen vorgesehen. Eine explizite Verknüpfung ist nicht erforderlich. Wenn Sie versuchen, ein Referenzgerät zu erstellen (siehe D3D10CreateDevice), wird diese DLL geladen, wenn sie vorhanden ist. |
d3d10sdklayers.dll | Eine Reihe von SDK-Hilfsprogrammen, die als Schicht zwischen API-Aufrufen und Laufzeitausführung fungieren, einschließlich der Debugebene und der Switch-to-Reference-Schicht. Eine explizite Verknüpfung ist nicht erforderlich. wenn ein Gerät mit dem entsprechenden Ebenenflag erstellt wird, wird diese DLL automatisch geladen. Diese Komponente dient nur zu Entwicklungs- und Debugzwecken. Nur als Teil des Windows SDK oder des Legacy-DirectX-SDK enthalten und kann nicht weiterverteilt werden. |
Zugehörige Themen