Поделиться через


Связывание статических и динамических библиотек (Direct3D 10)

Для правильного запуска приложения главный компьютер должен иметь соответствующие библиотеки DLL. Эти библиотеки DLL могут предоставляться операционной системой или распространяемым пакетом приложений.

Библиотеки загружают соответствующие библиотеки DLL

Библиотеки, включенные в пакет SDK DirectX, автоматически загружают соответствующие библиотеки DLL во время выполнения. Исключением из этого правила является d3dx10.lib/d3dx10d.lib, который загружает d3dx10.dll, поставляемый с этой версией пакета SDK. Например, если скачанный пакет SDK включает d3dx10_33.dll и d3dx10_34.dll, библиотека (d3dx10.lib), которая поставляется с этим пакетом SDK, будет загружать d3dx10_34.dll. Если последующий пакет SDK установлен позже, содержащий d3dx10_35.lib, d3dx10.lib из предыдущего пакета SDK по-прежнему загружает d3dx10_34.dll. D3dx10.lib из более новой версии SDK загружает d3dx10_35.dll.

Распространение двоичных файлов

Можно распространить только d3dx10.dll (и последующие версии одного файла). Для распространения этого файла необходимо использовать функцию DirectXSetup. Дополнительные сведения об использовании этой функции и создании распространяемого пакета см. в установке DirectX с помощью DirectSetup. Все остальные необходимые двоичные файлы включены в Windows Vista. Единственными двоичными файлами, которые можно распространить, являются файлы, расположенные в следующем каталоге.

(SDK root)\Redist

В следующей таблице описаны двоичные файлы, о которых должны знать разработчики.

Двоичные файлы Direct3D 10 Описание
d3dx10.dll/d3dx10d.dll Розничные и отладочные компоненты D3DX10; розничные компоненты можно распространять в архиве CAB REDIST.
d3d10ref.dll Ссылочный растризатор. Обеспечивает программную реализацию графического конвейера. Входит только в состав SDK для Windows или устаревшего SDK DirectX и не может быть распространено. Эталонный растризатор предназначен только для отладки. Явное связывание не требуется; при попытке создать эталонное устройство (см. D3D10CreateDevice) загрузит эту библиотеку dll, если она присутствует.
d3d10sdklayers.dll Ряд служебных программ SDK, которые выполняют роль промежуточного слоя между вызовами API и выполнением кода в среде выполнения, включая уровень отладки и уровень переключения на эталонный. Явное связывание не требуется; Если устройство создается с соответствующим флагом слоя, эта библиотека DLL загружается автоматически. Этот компонент предназначен только для разработки и отладки. Входит только в состав пакета SDK для Windows или для устаревшего пакета SDK DirectX и не может быть распространяться.

 

Руководство по программированию для Direct3D 10

Direct3D 10 графические