Пятница, 22 Ноября 2024, 22:03

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
DirectX9 Проблема с матрицами
ClairdeluneДата: Воскресенье, 01 Июля 2012, 12:30 | Сообщение # 1
был не раз
Сейчас нет на сайте
Изучаю DirectX9 на c++ по книге Франк Луна - Введение в программирование трехмерных игр с DX9.
Дело дошло до перемножения матриц.
Написал вот такое:
Code
#include <stdio.h>
#include <d3dx9.h>

int main()
{
  D3DXMATRIX m1,m2,m3;
  float a,i,j;
  for(i=0;i<4;i++)
   for(j=0;j<4;j++)
   {
    scanf("%f",&a);
    m1(i,j)=a;
   }
  for(i=0;i<4;i++)
   for(j=0;j<4;j++)
   {
    scanf("%f",&a);
    m2(i,j)=a;
   }
  m3=m1*m2;
  for(i=0;i<4;i++)
  {
   for(j=0;j<4;j++)
    printf("%f ",m3(i,j));
   printf("\n");
  }
  scanf(" "); // Чтобы прога не закрывалась сразу после вывода
  return 0;
}


Выдаёт:
Quote (Microsoft Visual Sudio 2005 (Build log))

------ Build started: Project: DirectVectors, Configuration: Debug Win32 ------
Compiling...
02Matrix004Multiply.cpp
Linking...
02Matrix004Multiply.obj : error LNK2019: unresolved external symbol _D3DXMatrixMultiply@12 referenced in function "public: struct D3DXMATRIX __thiscall D3DXMATRIX::operator*(struct D3DXMATRIX const &)const " (??DD3DXMATRIX@@QBE?AU0@ABU0@@Z)
C:\Documents and Settings\*******\Мои документы\Visual Studio 2005\Projects\DirectVectors\Debug\DirectVectors.exe : fatal error LNK1120: 1 unresolved externals
Build log was saved at "file://c:\Documents and Settings\******\Мои документы\Visual Studio 2005\Projects\DirectVectors\DirectVectors\Debug\BuildLog.htm"
DirectVectors - 2 error(s), 3 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Как бороться с этим чудом?
RUNGOGET2THECHOPAHДата: Воскресенье, 01 Июля 2012, 13:11 | Сообщение # 2
участник
Сейчас нет на сайте
#pragma comment(lib, "D3dx9.lib");
upd: и да, объявляй итераторы циклов целочисленными переменными.


Сообщение отредактировал RUNGOGET2THECHOPAH - Воскресенье, 01 Июля 2012, 13:13
ClairdeluneДата: Воскресенье, 01 Июля 2012, 13:35 | Сообщение # 3
был не раз
Сейчас нет на сайте
Упс... Да, я как-то не заметил, что i,j засунул во float.

#pragma comment(lib, "D3dx9.lib"); - не помогает...
RUNGOGET2THECHOPAHДата: Воскресенье, 01 Июля 2012, 13:40 | Сообщение # 4
участник
Сейчас нет на сайте
Clairdelune, ты это в самое начало вставляешь?
DemeronДата: Воскресенье, 01 Июля 2012, 14:02 | Сообщение # 5
User created in C++
Сейчас нет на сайте
Quote (Clairdelune)
#pragma comment(lib, "D3dx9.lib"); - не помогает...

Если у тебя не Visual Studio - то и не поможет.
ClairdeluneДата: Воскресенье, 01 Июля 2012, 17:13 | Сообщение # 6
был не раз
Сейчас нет на сайте
Visual studio 2005 у меня, вставляя в начало... Не помогает sad
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг