|
안녕하세요..
혹시... directX관련을 컴파일 하다가 ... (동영상 화면을 이미지로 저장)
unresolved D3DXSaveSurfaceToFileA 라고 에러가 납니다.
즉 라이브러리가 링크 안돼서 나는 에러인데... D3DXSaveSurfaceToFile() 을 링크시키려면...
D3DXSaveSurfaceToFile() 가 어떤 라이브러리에 속해있는지 알수가 없습니다..
그래서 ... *.lib 나 *.dll이 가지고 있는 함수 리스트들을 모두 조사해 보아야 하는데..
.lib나 dll의 함수 리스트 (심볼)들을 볼수 있는 커맨드나 방법이 있는지요?
수고하세요.
====================================================================
D3DDISPLAYMODE ddm;
D3DPRESENT_PARAMETERS d3dpp;
IDirect3D9* g_pD3D=NULL;
IDirect3DDevice9* g_pd3dDevice=NULL;
IDirect3DSurface9* g_pSurface=NULL;
if((g_pD3D=Direct3DCreate9(D3D_SDK_VERSION))==NULL)
{
ShowMessage("Unable to Create Direct3D ");
return ;
}
if(FAILED(g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&ddm)))
{
ShowMessage("Unable to Get Adapter Display Mode");
return ;
}
ZeroMemory(&d3dpp,sizeof(D3DPRESENT_PARAMETERS));
d3dpp.Windowed=true;
d3dpp.Flags=D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
d3dpp.BackBufferFormat=ddm.Format;
d3dpp.BackBufferHeight=ddm.Height;
d3dpp.BackBufferWidth=ddm.Width;
d3dpp.MultiSampleType=D3DMULTISAMPLE_NONE;
d3dpp.SwapEffect=D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow=this->Handle;
d3dpp.PresentationInterval=D3DPRESENT_INTERVAL_DEFAULT;
d3dpp.FullScreen_RefreshRateInHz=D3DPRESENT_RATE_DEFAULT;
if(FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,this->Handle,D3DCREATE_SOFTWARE_VERTEXPROCESSING ,&d3dpp,&g_pd3dDevice)))
{
ShowMessage("Unable to CreateDevicee");
return ;
}
if(FAILED(g_pd3dDevice->CreateOffscreenPlainSurface(ddm.Width, ddm.Height, D3DFMT_A8R8G8B8, D3DPOOL_SCRATCH, &g_pSurface, NULL)))
{
ShowMessage("Unable to Create Surface");
return ;
}
/*
if(FAILED( g_pd3dDevice->CreateImageSurface(ScreenWidth,ScreenHeight,D3DFMT_A8R8G8B8,&pSurface)))
{
ShowMessage("Unable to CreateImageSurface Surface");
return ;
}
*/
if (FAILED(g_pd3dDevice->GetFrontBufferData(0, g_pSurface ))) {
g_pSurface->Release();
return ;
}
D3DXSaveSurfaceToFile("c:/Desktop.bmp",D3DXIFF_BMP,g_pSurface,NULL,NULL);
g_pSurface->Release();
|