编译通过,构件出错,求解~
#include <d3d8.h>
#define MY_WINCLASS_NAME "Direct3D"
LPDIRECT3D8 g_pMyD3D=NULL;
LPDIRECT3DDEVICE8 g_pMyd3dDevice=NULL;
HRESULT InitMy3d(HWND hWnd)
{
if(NULL==(g_pMyD3D = Direct3DCreate8(D3D_SDK_VERSION)))
return E_FAIL;
D3DDISPLAYMODE d3ddm;
if(FAILED(g_pMyD3D->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_pMyD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp,&g_pMyd3dDevice)))
{
return E_FAIL;
}
return S_OK;
}
VOID Cleanup()
{
if(g_pMyd3dDevice !=NULL)
g_pMyd3dDevice->Release();
if(g_pMyD3D!=NULL)
g_pMyD3D->Release();
return ;
}
LRESULT WINAPI MsgProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch(msg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_PAINT:
g_pMyd3dDevice->Clear(0,
NULL,
D3DCLEAR_TARGET,
RGB(255,255,255),
1.0f,0);
g_pMyd3dDevice->Present(NULL,NULL,NULL,NULL);
ValidateRect(hWnd,NULL);
return 0;
}
return DefWindowProc(hWnd,msg,wParam,lParam);
}
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
WNDCLASSEX wc={sizeof(WNDCLASSEX),
CS_CLASSDC,
MsgProc,
0L,
0L,
GetModuleHandle(NULL),
NULL,
NULL,
NULL,
NULL,
MY_WINCLASS_NAME,
NULL};
RegisterClassEx(&wc);
HWND hWnd=CreateWindow(MY_WINCLASS_NAME,"HELLO!",WS_OVERLAPPEDWINDOW,100,100,400,300,GetDesktopWindow(),NULL,wc.hInstance,NULL);
if(SUCCEEDED(InitMy3d(hWnd)))
{
ShowWindow(hWnd,SW_SHOWDEFAULT);
UpdateWindow(hWnd);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
Cleanup();
UnregisterClass(MY_WINCLASS_NAME,wc.hInstance);
return 0;
}
--------------------Configuration: test1 - Win32 Debug--------------------
Linking...
test1-1.obj : error LNK2001: unresolved external symbol _Direct3DCreate8@4
Debug/test1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
test1.exe - 2 error(s), 0 warning(s)
因为看不懂英文了,请教~