私は単純な DirectX プロジェクトを持っています:
#include <d3dx10.h>
#include <d3dx10math.h>
#pragma comment(lib, "d3d10.lib")
#pragma comment(lib, "d3dx10.lib")
int main()
{
D3DXVECTOR3 u(1.0f, 2.0f, 3.0f);
D3DXVECTOR3 v(2.0f, 1.0f, 3.0f);
D3DXVECTOR3 a, b, c, d, e;
float l = D3DXVec3Length(&u);
float s = D3DXVec3Dot(&u, &v);
D3DXVec3Normalize(&d, &u); // <- problem is here
return 0;
}
プロジェクト プロパティに include および lib ディレクトリを追加したところ、D3DXVec3Normalize 行を除いてすべて正常に動作しました。プログラムを実行すると、「エラー LNK2019: 未解決の外部シンボル _D3DXVec3Normalize@8 が関数 _main で参照されています」と表示されます。
D3DXVec3Length および D3DXVec3Dot 関数が (Normalize 行なしで) 問題なく動作し、D3DXVec3Normalize がエラーを生成する理由を誰か説明できますか?
PS DirectX SDK June 2010 と Visual Studio 2012 を使用しています。