DirectX 10 SDK在VS 2010下的安裝配置

首先按照網友yy649487394所給出的安裝配置詳細過程進行了DirectX 10 SDK的安裝,本文是對其的一個補充,增加了一個簡單的測試用例,並對測試中出現的問題,進行了解決,現將完整過程記錄如下。

1.下載並安裝DirectX 10 SDK,在VS2010下配置DirectX SDK搭建DirectX開發環境,詳細見網友yy649487394博客:

https://blog.csdn.net/yy649487394/article/details/45075167

2.在VS 2010中添加如下測試用例(關於向量的運算):

#include <d3dx10.h>
#include <iostream>
using namespace std;

ostream& operator<<(ostream& os, D3DXVECTOR3& v)
{
os << "(" << v.x << ", " << v.y << ", " << v.z << ")";
return os;
}
int main()
{
// Using constructor, D3DXVECTOR3(FLOAT x, FLOAT y, FLOAT z);
D3DXVECTOR3 u(1.0f, 2.0f, 3.0f);
// Using constructor, D3DXVECTOR3(CONST FLOAT *);
float x[3] = {-2.0f, 1.0f, -3.0f};
D3DXVECTOR3 v(x);
// Using constructor, D3DXVECTOR3() {};
D3DXVECTOR3 a, b, c, d, e;
// Vector addition: D3DXVECTOR3 operator +
a = u + v;
// Vector subtraction: D3DXVECTOR3 operator -
b = u - v;
// Scalar multiplication: D3DXVECTOR3 operator *
c = u * 10;
// ||u||
float L = D3DXVec3Length(&u);
//d = u / ||u||
D3DXVec3Normalize(&d, &u);
// s = u dot v
float s = D3DXVec3Dot(&u, &v);
// e = u x v
D3DXVec3Cross(&e, &u, &v);
cout << "u = " << u << endl;
cout << "v = " << v << endl;
cout << "a = u + v = " << a << endl;
cout << "b = u - v = " << b << endl;
cout << "c = u * 10 = " << c << endl;
cout << "d = u / ||u|| = " << d << endl;
cout << "e = u x v = " << e << endl;
cout << "L = ||u|| = " << L << endl;
cout << "s = u.v = " << s << endl;
return 0;
}

調試時出現錯誤:error LNK2019: unresolved external symbol _D3DXVec3Normalize@8 referenced in function _main

解決辦法如下:

依次點擊:【Project】-【Property】-【Configuration Properties】-【VC++ Directories】-【Library Directories】,添加DirectX安裝目錄下Lib\X86(之前考慮到電腦是64位,故只添加了Lib\X64),如我添加的是E:\DX9\Lib\X86。

添加後,測試示例成功運行!

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章