Programming

Вопрос к программистам

1 апр 2011 10:24
+5
(Текст записи скрыт. Показать...)
Пишем на с++ игру, она открывается на вин ХР, 7ка хоме а на 7ке (которая для нетубуков, вроде стартер называется) не открывается. Выскакивает ошибка про отсутствие дллки d3dx9_43.dll).
1)Подскажите как это можно пофиксить? Может кто сталкивался с подобным.
2)посоветуйте отличную книгу по директХ.
Отправлено 01.04.2011 в 10:35
Отвечает на сообщение 366849
+11
Тут социалки делают, вряд ли кто-то подскажет!
Отправлено 01.04.2011 в 10:46
Отвечает на сообщение 366850
+1
Александр Белов пишет:
>
> Тут социалки делают, вряд ли кто-то подскажет!


Мы не делаем!

> Пишу на с++ игру, она открывается на вин ХР, 7ка хоме а на
> 7ке (которая для нетубуков, вроде стартер называется) не
> открывается. Выскакивает ошибка про отсутствие дллки > >
> d3dx9_43.dll).
> 1)Подскажите как это можно пофиксить? Может кто сталкивался с > подобным.

Это дллка от более поздних версий 9го директикса. Либо собирайте игру на более ранней версии DX9, либо просто положите эту дллку вместе с игрой. Ну или поставьте последнюю версию директикса на машину, на которой запускаете.
Отправлено 01.04.2011 в 10:51
Отвечает на сообщение 366853
+5
Артём Кирилловский пишет:
>


какие вы скучные... я думал, что вопрос первоапрельский.. ошибся чтоли?
Andrey Kniazev  01.04.2011 10:51
Отправлено 01.04.2011 в 11:06
Отвечает на сообщение 366853
+1
омг чувствую себя идиотом =))) да, действительно установка директ ха последнего помогла ))
Спасибо всем) ))
Отправлено 01.04.2011 в 10:44
Отвечает на сообщение 366849
+3
У пользователя должны быть установлены т.н. "DirectX End-User Runtimes", которые соответствуют версии DirectX SDK, которая была у тебя установлена при компиляции .exe:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=3b170b25-abab-4bc3-ae91-50ceb6d8fa8d

Koгда-то давным-давно либы D3DX были статическими, и прикомпиливались к екзешнику. Ни с какими дополнительными инсталяциями морочиться не нужно было.

Но потом Майкрософт решил все улучшить!
Отправлено 01.04.2011 в 11:12
Отвечает на сообщение 366849
+8
Вообще-то подобная проблема обычно не должна в играх появляться. Функции D3DX* (которые, собственно, и содержатся в означенной dll) не стоит использовать в runtime. Обычно они в тулзах применяются, при генерации данных для игры. Поищите у себя в коде эти функции и замените на обычные D3D, - возможно, решите в процессе более крупные проблемы, типа тормозов, долгой загрузки, большого объема данных игры и т.п.
Отправлено 01.04.2011 в 11:26
Отвечает на сообщение 366858
0
спасибо, очень полезная инфа. будем разбираться.
Отправлено 01.04.2011 в 12:27
Отвечает на сообщение 366859
+1
Обычно эти D3DX* используют для загрузки текстур. Когда писали под 8'ю версию, то как у поминалось ранее, их использовали, так как иксовая либа была статической и не тянула за собой dll'ки. В первую очередь смотреть нужно туда, где загружаются ресурсы. Ну еще там всякие матричные преобразования многие любят основывать на этой либе (для 3Д).
Andrey Kniazev  01.04.2011 13:20
Дмитрий Санников  01.04.2011 13:58
Отправлено 02.04.2011 в 07:05
Отвечает на сообщение 366849
0
Алсо, последняя версия DX SDK, на которой линковалось статически - Oct 2004. Если хочется бороться за время установки, терпеть ее.
Списки доступа
  • Подписчики [675]
  • Белый список [19]
  • Черный список [3]
Права доступа
Вы можете читать группу, но не можете отвечать на сообщения и создавать новые темы.
Доступ для остальных:
анонимы : могут читать
новые : могут читать
постоянные : полный доступ

Copyright © 2021 ООО "ДТФ.РУ". Все права защищены.

Воспроизведение материалов или их частей в любом виде и форме без письменного согласия запрещено.

Замечания и предложения отправляйте через форму обратной связи.

Пользовательское соглашение