2016-11-07 4 views
0

私はVisual Studioでの私のCファイルに次のコードを持っている...それは大丈夫コンパイルが、それはDLLの関数呼び出しでコンピュータをハング...のDirectX

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を使用することによって正しいことをやっているのですか?まずはenum型のコードが必要ですか? Visual StudioでD3D DLLをどのようにデバッグできますか?

私はフランクD.ルナによって「DirectX 11のを使用して3Dゲームプログラミングの本を使用している

あなたはフランクルナの本はDirectXのSDKがオフに殺された約3分前に出版された

+0

これは、これらのすべての型を宣言した場所を含めていないため、これでは十分ではありません。 –

答えて

0

を助けることを願ってだから彼の本の多くは、あなたがD3DX11のような使い方をしないほうがいいと言っています。つまり、良い代替品がたくさんあります。特定の注意事項については、Where is the DirectX SDK (2015 Edition)?,Living without D3DXおよびthis postを参照してください。

Direct3D 11デバイスの作成の詳細については、Anatomy of Direct3D 11 Create Deviceを参照してください。

Direct3D 11を初めてお使いになる場合は、DirectX Tool Kit tutorialsをご覧ください。

0

フランク・ルナ氏の本「d3dx11」ライブラリを使用していますが、これは廃止予定です。

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

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

P.S.:機能の多くはまた、プロジェクトに含まれるべきdxgi.lib、だけでなく、dxgi.hヘッダをd3d11.libとすることLIBから移動されましたそして、@Chuck Walbournを参照してください。DirectX Tool Kit