2013-05-27 94 views
0

我正在从directxtutorial.com学习Direct3D。我通过下面的代码中的预处理器指令来包含它。如何在程序中包含Direct3D?

#pragma comment(lib, "d3d11.lib") 
#pragma comment(lib, "d3dx11.lib") 
#pragma comment(lib, "d3dx10.lib") 

但是,这并没有这样做。我猜这是因为库文件不在其检查找到它们的地方。但是有人可以解释一下这里发生了什么吗?谢谢。 错误消息是:“智能感知:无法打开源文件”

+0

首先,确保您有Windows SDK并将其添加到搜索目录中。 – chris

+0

如何将Windows SDK添加到搜索目录? – Qyler

+0

应该有项目设置中的某个选项(或整体设置)。 [这个问题](http://stackoverflow.com/questions/4095009/switching-vs2010-to-use-windows-7-1-sdk)可能会有所帮助。 – chris

回答

2

您需要从this link下载并安装Windows SDK。

接下来,您需要在Visual Studio中配置您的解决方案以查找相应的文件。这可以分为两类:添加包含路径链接库。请注意你的Windows SDK目录。在我的系统上,它是C:\Program Files (x86)\Microsoft SDKs\Windows\7.0A\

添加包含路径

的Visual Studio自带预装有DirectX的头的一个子集.h文件,但完整的集合是WindowsSDKPath\Include可用。

这个路径添加到项目的附加包括:

  • 右键点击Solution Explorer项目,并从菜单中选择Properties
  • 配置对话框同时影响调试和发布版本: Visual C++ Property Pages
    • 选择第一个下拉列表并选择All Configurations
  • 从左边的树上选择Configuration Properties | C/C++ | General。此选项仅在您的项目中至少有一个.c.cpp文件时才会显示。
  • Additional Include Directories框中,将路径添加到Windows SDK包括,例如:C:\Program Files (x86)\Microsoft SDKs\Windows\7.0A\Include
  • 按应用。
  • 您现在已准备好将Direct 3D头文件包含在您的C++代码文件中,即#include <d3d11.h>

链接库

直接3D库都包含在WindowsSDKPath\Lib文件夹中。

  • 从左边的树上选择Configuration Properties | Linker | Input
  • 勾选上Additional Dependencies字段的下拉箭头,选择Edit...
  • 在弹出的对话框中,完整路径添加到每个库,每个路径上自己的路线,像这样: Linking Direct 3D Libraries
  • 按好,然后按应用或好。

您的项目现在应该配置为构建Direct 3D应用程序。

+0

[this](http://msdn.microsoft.com/en-us/library/windows/desktop/hh852363.aspx)似乎是Windows 8 SDK的当前链接。 – Kivin