Visual Studio Professional 2013
Windows 7
x32,x64处理器
我正在使用DirectX 11,似乎有一个奇怪的问题。我一直能够在我的应用程序中访问DirectX命名空间。这已不再是这种情况。我可以做一个简单的课程说
// A.h
#include <d3d11.h>
#pragma comment(lib, "d3d11.lib")
class A {
}
如果我尝试使用完全引用的类型
DirectX::ID3D11Device* mDevice;
我也没有像我使用的那样使用intellisense显示DirectX名称空间。
最重要的是我可以使用
ID3D11Device* device;
在课堂上没有任何问题,所有编译都很好。
Visual Studio 2013 Profesional找到d3d11.h文件的路径是
C:\Program Files (x86)\Windows Kits\8.1\Include\um
知道为什么会这样吗?我搜索了很多地方,但没有发现任何相同的性质。
答案 0 :(得分:2)
标准的Windows Win32 API位于“全局”命名空间中。
DirectX
C ++命名空间由DirectXMath,DirectX Tool Kit,DirectXTex和DirectXMesh使用。基本上我是作者的一切:)
DX
C ++命名空间中有一些助手,用于Windows 8商店,Windows手机,Xbox One的标准VS模板,以及用于{10}的Windows 10的通用Windows应用程序ThrowIfFailed
,也用于我的非官方StepTimer。
Windows Runtime(WinRT)API遵循最初为.NET组件创建的命名约定,位于标准Windows
或Microsoft
C ++命名空间中。