Компиляция приложения DX 9.0c для March09SDK => Невозможно запустить более старые библиотеки DX 9.0c => Проблема :) - PullRequest
0 голосов
/ 19 июня 2009

Я не могу сделать сценарий из темы.

У меня установлен DirectX 9 марта 2009 SDK, это 9, «sub» -version c, но «sub-sub» -version 41, поэтому libs (d3dx9.lib d3d9.lib) связывает экспорт с dxd3d_41. длл.

Что происходит, когда я пытаюсь запустить свое приложение на компьютере с DX9.0c, но не распространяемым с марта 2009 года, теперь очевидно :), оно завершается ошибкой, поскольку не может найти dxd3d_41.dll.

Какое стандартное решение для этой проблемы? Как мне скомпилировать приложение, чтобы оно поддерживалось всеми машинами с DX 9.0c? Это даже достижимо?

Thanx

Ответы [ 3 ]

1 голос
/ 18 июля 2009

Самое простое решение - установить ссылку на средство обновления среды выполнения для конечного пользователя Microsoft DirectX на странице загрузки и попросить людей сначала запустить его, чтобы убедиться, что компоненты среды выполнения обновлены до установки приложения.

После этого следующая самая простая вещь - связать необходимый модуль обновления времени выполнения с вашим приложением и попросить пользователей запустить его до запуска вашего установщика.

Все это описано в документации SDK.

1 голос
/ 19 июня 2009

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

Единственный способ заставить это работать на ВСЕХ машинах с установленным DirectX9c - это использовать старый SDK (первый 9.0c SDK). Тем не менее, я настоятельно рекомендую избегать этого. Вам гораздо лучше, если вы просто используете март 09 и устанавливаете среды выполнения за март вместе с установкой вашего приложения.

0 голосов
/ 22 июня 2009

Правила таковы: если вы ссылаетесь на d3dx9, от вас ожидают, что вы убедитесь, что установлены необходимые компоненты среды выполнения Redist.

Загляните на страницу «Установка DirectX для разработчиков игр» в документации DXSDK.

...