DirectX SDK Dec 2004是最后一代可以静态编译D3DX的版本。经测试可以在VS2002-VS2013所有主流版本编译,在VS2015以上版本需要另外添加legacy_stdio_definitions.lib。
头文件和库可以直接解压使用。
由于VS2005+取消了单线程库,使用时要注意设置【链接器\输入\忽略特定默认库】添加【libcp】以忽略d3dx.lib隐式指定的单线程运行库。或者也可以添加这一句:
#pragma comment(lib, "/nodefaultlib:libcp")
简单的使用方法:首先将所有文件解压到工程文件夹,然后在程序开头添加——
#include "include/d3dx9.h"
#if defined(_M_AMD64)
#pragma comment(lib, "lib/x64/d3d9.lib")
#pragma comment(lib, "lib/x64/d3dx9.lib")
#else
#pragma comment(lib, "lib/x86/d3d9.lib")
#pragma comment(lib, "lib/x86/d3dx9.lib")
#endif
#pragma comment(linker, "/nodefaultlib:libcp")