x64程序中的DirectX库

时间:2015-06-09 10:29:51

标签: 64-bit directx

我正在尝试将程序编译为64位,它与一个简单的控制台程序完美配合但是如果我使用我的directX程序它会说:错误LNK1181:无法打开输入文件'd3dx9.lib'。当我将我的directX程序编译为32位时,它可以工作,但在x64中却没有。我认为visual studio 2013有一个默认目录directx with x86但我不知道我是不对。我需要使用x64 directX libs。我怎么能链接他们?谢谢你的阅读。

1 个答案:

答案 0 :(得分:0)

VS 2013附带Windows 8.1 SDK,从Windows 8.0 SDK开始,DirectX SDK被视为已弃用。所有版本的D3DX(D3DX9,D3DX10和D3DX11)也已弃用,仅适用于旧版DirectX SDK。您可以将旧版DirectX SDK与Windows 8.x SDK结合使用,但它需要VS 2010或更早版本的反向路径设置。请参阅MSDNthis blog post

在您的情况下,您可能没有为x64配置正确设置项目的 VC ++目录属性:

可执行路径

  • Win32配置:$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86
  • x64 configs:$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86

包含路径

  • 两个配置:$(IncludePath);$(DXSDK_DIR)Include

图书馆路径

  • Win32配置:$(LibraryPath);$(DXSDK_DIR)Lib\x86
  • x64 configs:$(LibraryPath);$(DXSDK_DIR)Lib\x64

注意:如果您使用v120_xp平台工具集进行Windows XP支持,那么您实际上正在使用Windows 7.1A SDK,并且会使用相同的路径顺序VS 2010是这里显示的反向 - 即首先是DirectX SDK路径,然后是标准路径。如果您尝试定位Windows XP,请参阅this post

这一切都说,除非你专门针对Windows XP,否则建议(a)使用Direct3D 11而不是传统的Direct3D 9,(b)完全避免使用传统的DirectX SDK,并且(c)避免使用D3DX9 / D3DX10 / D3DX11。

另见: