一个DirectX程序要想正确的编译和链接,需要下面三个主要前提
一 安装DirectX SDK
二 正确配置.h文件路径和.lib文件路径
三 正确链接所需.lib文件
一.安装DirectX SDK
http://msdn.microsoft.com/zh-cn/directx/aa937788.aspx二.正确配置.h文件和.lib文件路径
1. (版本低于2010)启动VS,依次选择tools-option-projects and solutions-VC++Directories,在show directories for下面有几个选项需要设置
(2010)打开你要设置工程,然后再菜单上选择 View->Property Manager,然后就会打开一个窗口,你在窗口内选择你的工程->Debug|Win32->Microsoft.Cpp.Win32.user。
双击Microsoft.Cpp.Win32.user或是右击选择Properties,就会弹出
2. (版本低于2010)选择Include files, 这个是DirectX头文件所在的地方,点击下面的新建文件夹按钮将DirectX头文件所在的路径输入进去。在我这里是
C:/Program Files/Microsoft DirectX SDK (March 2008)/Include
(2010)选择Common Properties->VC++ Directories。在右面有Include Directories选线,直接把你的路径复制到最后就行,注意在添加路径前面要加分号,就是各项是以分号隔开的,我的路径是:C:Program Files (x86)Microsoft DirectX SDK (June 2010)Include
3. (版本低于2012)选择Library fies,这是.lib文件所在的地方,如法炮制,将DirectX .lib文件的路径输入进去,在我这里是
C:/Program Files/Microsoft DirectX SDK (March 2008)/Lib/x86
到这里,如果你包含了所有所需的.h文件,你的程序编译应该没有问题,但是连接的时候你很可能会发现一大堆的unresolved external symbols...错误。因为你还没有链接lib文件
注意,以上是针对整个solution的设置,也就是说,以后创建的prject都将应用上面的设置,如果想针对project进行设置,那么请用下面的方法。
在solution窗口中,右键点击project,选择属性。按照如下两幅图设置
设置头文件
(2010)然后同样在这个目录下,选择Library Directories,在最后加上路径,我的是:C:Program Files (x86)Microsoft DirectX SDK (June 2010)Libx86
三.正确链接所需.lib文件
1. (版本低于2010)在solution view中,右键点击你的工程,选择properties-configuration properties-linker-input-addtional dependencies
2. (版本低于2010)点击右边的小按钮将下面这些常用的lib文件加入进去
dxerr.lib
dxguid.lib
d3dx9d.lib
d3dx10d.lib
d3d9.lib
winmm.lib
comctl32.lib
(2010)这一步选择菜单 View->Solution Explorer。打开一个窗口,
选择你的工程,右击,选择Properties,打开Property Pages
选择Configuration Properties->Linker->Input,在右面选择Additional Dependencies,然后把
dxerr.lib
dxguid.lib
d3dx9d.lib
d3dx10d.lib
d3d9.lib
winmm.lib
comctl32.lib