|
我想用DirectX9编写一个简单的窗口程序,代码是书中的,配套光盘上的也不能运行
请各位高手帮忙给我找找错误的地方,小弟感激不尽!
---------------------------------------------------------------------------------------------#include <d3d9.h>
LPDIRECT3D9 g_pD3D=NULL;
LPDIRECT3DDEVICE9 g_pd3dDevice=NULL;
HRESULT InitD3D(HWND hwnd)
{
g_pD3D=Direct3DCreate9(D3D_SDK_VERSION);
if(g_pD3D=NULL)return E_FAIL;
D3DDISPLAYMODE d3ddm;
if(FAILED(g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&d3ddm)))
{
return E_FAIL;
}
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp,sizeof(d3dpp));
d3dpp.Windowed=true;
d3dpp.SwapEffect=D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat=d3ddm.Format;
if(FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hwnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp,&g_pd3dDevice)))
{
return E_FAIL;
}
return S_OK;
}
VOID ClearUp()
{
if(g_pd3dDevice!=NULL)
{
g_pd3dDevice->Release();
}
if(g_pD3D!=NULL)
{
g_pD3D->Release();
}
}
VOID Render()
{
if(g_pd3dDevice==NULL)
{
return;
}
g_pd3dDevice->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(0,0,255),1.0f,0);
g_pd3dDevice->BeginScene();
g_pd3dDevice->EndScene();
g_pd3dDevice-> resent(NULL,NULL,NULL,NULL);
}
LRESULT WINAPI WinProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch(msg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_PAINT:
Render();
ValidateRect(hwnd,NULL);
return 0;
}
return DefWindowProc(hwnd,msg,wParam,lParam);
}
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE,LPSTR,int)
{
WNDCLASS wc={0,WinProc,0L,0L,hInstance,NULL,NULL,NULL,NULL,"firstd3d"};
RegisterClass(&wc);
HWND hWnd=CreateWindow("firstd3d","我的3D窗口",WS_POPUP|WS_MAXIMIZE,100,100,400,300,0,NULL,wc.hInstance,NULL);
if(SUCCEEDED(InitD3D(hWnd)))
{
ShowWindow(hWnd,SW_SHOWDEFAULT);
UpdateWindow(hWnd);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
ClearUp();
UnregisterClass("firstd3d",wc.hInstance);
return 0;
}
---------------------------------------------------------------------------------------------
错误提示如下:(编译环境 Windows Xp VC++6.0
--------------------Configuration: d3d - Win32 Debug--------------------
Compiling...
d3d.cpp
Linking...
d3d.obj : error LNK2001: unresolved external symbol _Direct3DCreate9@4
Debug/d3d.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
d3d.exe - 2 error(s), 0 warning(s)
|
|