Verknüpfen statischer und dynamischer Bibliotheken (Direct3D 10)
Damit eine Anwendung ordnungsgemäß ausgeführt werden kann, müssen auf dem Hostcomputer die entsprechenden DLLs installiert sein. Diese DLLs können entweder vom Betriebssystem oder vom verteilbaren Anwendungspaket bereitgestellt werden.
Bibliotheken laden entsprechende DLLs
Die im DirectX SDK enthaltenen Bibliotheken laden zur Laufzeit automatisch die richtigen DLLs. Die Ausnahme von dieser Regel ist d3dx10.lib/d3dx10d.lib, die die d3dx10.dll lädt, die mit dieser SDK-Version ausgeliefert wurde. Wenn das heruntergeladene SDK z. B. d3dx10 _33.dll und d3dx10 _34.dll enthält, lädt die Bibliothek (d3dx10.lib), die mit diesem SDK geliefert wurde, d3dx10 _34.dll. Wenn später ein nachfolgendes SDK installiert wird, das d3dx10 _ 35.lib enthält, lädt die d3dx10.lib aus dem vorherigen SDK weiterhin d3dx10 _34.dll. Die Datei d3dx10.lib aus dem neueren SDK lädt d3dx10 _35.dll.
Verteilen von Binärdateien
Nur d3dx10.dll (und nachfolgende Versionen derselben Datei) können neu verteilt werden. Um diese Datei neu zu verteilen, 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 | Einzelhandels- und Debuggen von D3DX10-Komponenten Die Einzelhandelskomponenten können im REDIST CAB neu verteilt werden. |
| d3d10ref.dll | Referenzrasterizer. Stellt die Softwareimplementierungen der Grafikpipeline bereit. Nur als Teil des Windows SDK oder des älteren DirectX SDK enthalten und kann nicht neu verteilt werden. Der Verweisrasterizer ist nur für das Debuggen vorgesehen. Eine explizite Verknüpfung ist nicht erforderlich. Beim Versuch, ein Referenzgerät zu erstellen (siehe D3D10CreateDevice),wird diese DLL geladen, sofern vorhanden. |
| d3d10sdklayers.dll | Eine Reihe von SDK-Hilfsprogrammen, die als Ebene zwischen API-Aufrufen und Laufzeitausführung fungieren, einschließlich der Debugebene und der Switch-to-Reference-Ebene. Eine explizite Verknüpfung ist nicht erforderlich. Wenn ein Gerät mit dem entsprechenden Ebenenflag erstellt wird, wird diese DLL automatisch geladen. Diese Komponente ist nur für Entwicklungs- und Debugzwecke vorgesehen. Nur als Teil des Windows SDK oder des älteren DirectX SDK enthalten und kann nicht neu verteilt werden. |