2016-11-07 53 views
0

我有在Visual Studio我的C文件下面的代码...它编译好了,但它挂在DLL函数调用计算机...的DirectX在Visual Studio

hr = D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, 0, 0, D3D11_SDK_VERSION, &gamedevice, &featureLevel, &gamedevicecontext); 
fprintf_s(debugfile, "called CreateDevice()...\n"); 
fflush(debugfile); 
if(FAILED(hr)) 
{ 
MessageBox(0, "D3D11CreateDevice Failed.", 0, 0); 
return 0; 
} 

有一大堆更多的代码之后,但调试文件显示,它没有达到它......我是通过首先在我的应用中使用D3D11CreateDevice做正确的事情还是我需要首先使用枚举类型代码?我如何在Visual Studio中调试D3D DLL?

我一直在使用这本书“使用的DirectX 11 3D游戏编程”由Frank D.月神

希望你能帮助

+0

这是不够的信息,因为你没有包括你声明所有这些类型的地方。 –

回答

0

弗兰克·卢娜的书出版约3分钟的DirectX SDK中被杀害关闭之前,所以他的很多书都提到你最好不要使用类似D3DX11的东西。这就是说,有很多好的替代品。对于一些特定的笔记,请参阅Where is the DirectX SDK (2015 Edition)?Living without D3DXthis post

有关Direct3D 11设备创建的详细演练,请阅读Anatomy of Direct3D 11 Create Device

由于您是Direct3D 11的新手,我建议您查看DirectX Tool Kit tutorials

0

Frank Luna在他的书d3dx11库中使用,现在已弃用。很多功能都从LIB搬到d3d11.lib和dxgi.lib,这应该也包括到您的项目,以及dxgi.h头:

#include <d3d11.h> 
#include <dxgi.h> 

#pragma comment(lib, "d3d11.lib") 
#pragma comment(lib, "dxgi.lib") 

附:和@Chuck Walbourn提到的尝试DirectX工具包