• Бесплатный ВЕБИНАР по OSINT с Екатериной Тьюринг: ➡️9 февраля в 19:00 (мск) пройдет урок

    Как безопасно искать информацию в открытых источниках

    🔥 Записаться 🔥

Directx 9.0 Sdk

  • Автор темы Автор темы Sam Gordon
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
S

Sam Gordon

Кто сталкивался с подобным и знает, как разрешить эту ситуацию, пожалуйста, поделитесь опытом. Буду крайне признателен за помощь.
У меня установлена Visual Studio 7.0 и был до недавнего времени последний DirectX9.0c (июнь 2006
года). Недавно у меня появилась необходимость установить DirectX SDK (DirectX 9.0 SDK Update (Summer 2003)), с которым имею дело впервые. Но после установки возникли вот такие проблемы (получено с помощью dxdiag.exe) :

Несколько файлов (d3d8d.dll, d3dx8d.dll, d3dx8d.ll) являются файлами старой версии, что может быть
причиной неполадок.
Файлы (d3dx8d.dll, d3dx9d.dll, d3d9d.dll) являются файлами отладочной версии и выполнятся медленнее, чем конечные файлы
Около directx.cpl тоже стоит восклицательный знак (2003 год).

Студия отказывается компилировать файл, выдавая ошибку о невозможности подключения вот этих файлов:dxerr9.h, D3DX9.h, D3D9.h, d3dx9.h

Возможно, я что-то неправильно указываю в Project Wizard, либо еще что-то делаю не так. Догадок у
меня много, но которая из них верна?

Если кто знает о причинах, по которым компилятор не желает работать, подсобите, плизз.
 
Точно не уверен. Но наверно что-то ты все таки недо подключил. Попробуй также скачять СДК поновей(хотя врятли).
 
500 Мб???? Ну ты и шутник, однако ;)
Я-то не против, но вот скорость моего интерента против :)) Dial-up проклятый... 3Кб в сек. Так что это вариант отпадает полностью. Я и сам уже понял, что компилятор не видит того, что должен видеть в определенной директории, но толку от этого...
 
Студия отказывается компилировать файл, выдавая ошибку о невозможности подключения вот этих файлов:dxerr9.h, D3DX9.h, D3D9.h, d3dx9.h

Попробуй директории прописать ручками
 
Вот, что пишет компилятор (одна из ошибок)
c:\Temp\DirectX9Application1\dmutil.cpp(12): fatal error C1083: Cannot open include file: 'dxerr9.h': No such file or directory

а он имрно почивает тут:
C:\DX90SDK\Include

Установку производил согласно описанию в книге Frank D. Luna "Введение в программирование трехмерных игр с DirectX 9.0". Делал все в точности так, как описано. Не работает. Тем более, что VS у меня 7-я, так что по идее проблем не должно быть, но они почему-то есть. При попытке компиляции он постоянно не находит именно указанных файлов.

А вообще реально кто-то сталкивался с подобной проблемой или нет?
 
Так пропиши ручками пути к хедерам
 
обнаружил еще один прикол: если выбираю проект DirectX9.0 на Visual Basic или С# программа компилируется (изменения пока не пробовал), но то, что все запускается -- это факт. Так что придется думать дальше.
 
<!--QuoteBegin-sdriver+3:11:2006, 15:14 -->
<span class="vbquote">(sdriver @ 3:11:2006, 15:14 )</span><!--QuoteEBegin-->Так пропиши ручками пути к хедерам
[snapback]47120" rel="nofollow" target="_blank[/snapback]​
[/quote]

Б-р-р... в смысле "прописать"??? При вызове места ошибки он мне и указывает
Например ошибка:
c:\Temp\proba\dmutil.cpp(12): fatal error C1083: Cannot open include file: 'dxerr9.h': No such file or directory

которая указывает на файл dmutil.cpp и строку в нем:
#include <dxerr9.h>

Или я что-то не то понял... файлы вроде подключены, но директорию, в которой они находятся, он не видит в упор, хотя в Project properties она указана.
 
Зайди в Tools -- там найди папку VC++ Directories, там и пропиши.
 
<!--QuoteBegin-sdriver+4:11:2006, 08:25 -->
<span class="vbquote">(sdriver @ 4:11:2006, 08:25 )</span><!--QuoteEBegin-->Зайди в Tools -- там найди папку VC++ Directories, там и пропиши.
[snapback]47133" rel="nofollow" target="_blank[/snapback]​
[/quote]
ты имеешь ввиду Project--VC++ Directories-- относится к Library Files? Прописал еще в самом начале, до того, как на форум в вопросом пришел. Все равно не пашет :blink:

На данный момент у меня так прописано:
C:\DX90SDK\Lib
C:\DX90SDK\Include
 
полное прописывание пути не помогло :) Пришлось все переустанавливать, начиная с DirectX
Теперь компилятор не выдает ошибки предыдущие, но зато выдает ошибки вот эти:

tr error LNK2001: unresolved external symbol _TID_D3DRMFrame
tr error LNK2001: unresolved external symbol _TID_D3DRMFrameTransformMatrix
tr error LNK2001: unresolved external symbol _TID_D3DRMMesh
tr error LNK2019: unresolved external symbol __imp__InitCommonControls@0 referenced in function _WinMain@16
tr error LNK2019: unresolved external symbol _DirectXFileCreate@4 referenced in function "public: long __thiscall CD3DFile::CreateFromResource(struct IDirect3DDevice9 *,char *,char *)" (?CreateFromResource@CD3DFile@@QAEJPAUIDirect3DDevice9@@PAD1@Z)
tr error LNK2019: unresolved external symbol _DXTraceA@20 referenced in function "protected: virtual long __thiscall CMyD3DApplication::InitDeviceObjects(void)" (?InitDeviceObjects@CMyD3DApplication@@MAEJXZ)
tr fatal error LNK1120: 6 unresolved externals


Тут я пас... Что он от меня хочет еще я не знаю... На библиотеки он наконец-то прозрел, но что ему еще не нравится...хз...что за внешние символы ему нужны.
Может, я где-то при установке одного из трех компонентов галочку какую-то не ставлю? Или чего-то недоустанавливаю.
 
Тут я пас... Что он от меня хочет еще я не знаю... На библиотеки он наконец-то прозрел, но что ему еще не нравится...хз...что за внешние символы ему нужны.

Вообще то это обычное не знание языка. Подключи либы:в свойствах проекта или через #pragma comment(lib,"......")

обнаружил еще один прикол: если выбираю проект DirectX9.0 на Visual Basic или С# программа компилируется (изменения пока не пробовал), но то, что все запускается -- это факт. Так что придется думать дальше.

Естестно, они(VB, C#) ипользуют ком обвертки на директcом
 
тут, кажись, дело в другом. Некоторые товарисчи говорят, что я какой-то компонент в студии не установил... одним словом, забыл снова какую-то фиговую галочку поставить :unsure:
 
Извините, а может знает кто, проводятся ли у нас в Минске курсы по Direct X? Если, да, то можете подсказать где именно? Очень нужно!
 
Я может че не так понимаю но если эти вышеописаные хидеры не видит то может не подключил Lib к проекту?
типа
#pragma comment (lib,"d3dx9.lib")
Простите если затупил и че не понял!
 
Установи SDK DirectX версию retail, а не debug.
В примерах SDK найди подходящий проект и изучи все установки проекта. Обрати внимание на файл stdafx.h. Добавленная строка #include <D3d9.h> в этом файле сразу поможет, изучай проекты примеров. Новые версии не качай не трать время.
 
Установи SDK DirectX версию retail, а не debug.
В примерах SDK найди подходящий проект и изучи все установки проекта. Обрати внимание на файл stdafx.h. Добавленная строка #include <D3d9.h> в этом файле сразу поможет, изучай проекты примеров. Новые версии не качай не трать время.

спасибо, но я ужО обламался. Все-таки буду ставить новую версию SDK. От старой 2003 года все равно толку нет. Скорее всего еще и была причина в недоустановленных компонентах самой Студии.

Но если все же не удасться в срок найти новую версию, воспользуюсь Вашим советом. Спасибо еще раз. :)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!