64,652
社区成员
发帖
与我相关
我的任务
分享
//我用的编译器是vc2003。NET
//我照书上写了抄了下面这段代码
//也加了DDraw.lib Dxguid.lib
//但是还是出现下面这个错误
//我选的工程类型是,空的net项目
//麻烦大家帮我看下问题出在那,谢谢咯
#include <ddraw.h>
#include <windows.h>
LPDIRECTDRAW7 lpDD;
LPDIRECTDRAWSURFACE7 lpDDSPrimary;
LPDIRECTDRAWSURFACE7 lpDDSBuffer;
LPDIRECTDRAWSURFACE7 lpDDSBack;
BOOL InitDDraw()
{
HWND hwnd;
DDSURFACEDESC2 ddsd;
if (DirectDrawCreateEx(NULL, (void **) &lpDD, IID_IDirectDraw7,
NULL) != DD_OK)
return FALSE;
if (lpDD->SetCooperativeLevel(hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN)
!= DD_OK)
return FALSE;
if (lpDD->SetDisplayMode(640, 480, 32, 0, DDSDM_STANDARDVGAMODE)
!= DD_OK)
return FALSE;
memset (&ddsd, 0, sizeof (DDSURFACEDESC2) );
ddsd.dwSize = sizeof (ddsd);
ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
ddsd.dwBackBufferCount = 1;
if (lpDD->CreateSurface(&ddsd, &lpDDSPrimary, NULL)
!= DD_OK)
return FALSE;
ddsd.ddsCaps.dwCaps = DDSCAPS_BACKBUFFER;
if (DD_OK != lpDDSPrimary->GetAttachedSurface(&ddsd.ddsCaps, &lpDDSBuffer) )
return FALSE;
ddsd.dwSize = sizeof (ddsd);
ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
ddsd.dwHeight = 480;
ddsd.dwWidth = 640;
if (DD_OK != lpDD->CreateSurface(&ddsd, &lpDDSBack, NULL) )
return FALSE;
return TRUE;
}
/*------ 已启动生成: 项目: fewfew, 配置: Debug Win32 ------
正在链接...
LIBCMTD.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main ,该符号在函数 _mainCRTStartup 中被引用
E:\C++练习题\fewfew\Debug\fewfew.exe : fatal error LNK1120: 1 个无法解析的外部命令
生成日志保存在“file://e:\C++练习题\fewfew\Debug\BuildLog.htm”中
fewfew - 2 错误,0 警告
---------------------- 完成 ---------------------
生成: 0 已成功, 1 已失败, 0 已跳过
*/