Я работал над изучением DirectX в течение нескольких дней и столкнулся с проблемой. Я следовал примеру с книгами и решил несколько досадных проблем, которые возникли, но мне не удалось решить мою последнюю. Компилятор утверждает, что у меня есть неразрешенный внешний символ всякий раз, когда я пытаюсь скомпилировать. Вот код ошибки ниже.
1>game.obj : error LNK2019: unresolved external symbol "struct IDirect3DSurface9 * __cdecl
LoadSurface(char *,unsigned long)" (?LoadSurface@@YAPAUIDirect3DSurface9@@PADK@Z) referenced in
function "int __cdecl Game_Init(struct HWND__ *)" (?Game_Init@@YAHPAUHWND__@@@Z)
1>C:\Users\Christopher\Documents\Visual Studio 2008\Projects\Work\Debug\Work.exe : fatal error
LNK1120: 1 unresolved externals
Я работаю: [компилятор: Visual Studios 2008] [Операционная система: Windows 7 64-битная профессиональная]
Вот пример кода и где он, кажется, имеет место. (Надеюсь, я дал достаточно информации)
LPDIRECT3DSURFACE9 kitty_image[7];
SPRITE kitty;
LPDIRECT3DSURFACE9 back;
//timing variable
long start = GetTickCount();
//initializes the game
int Game_Init(HWND hwnd)
{
char s[20];
int n;
//set random number seed
srand(time(NULL));
//load the sprite animation
for (n=0; n<6; n++)
{
sprintf(s, "cat%d.bmp",n+1);
kitty_image[n] = LoadSurface(s, D3DCOLOR_XRGB(255,0,255));
if (kitty_image[n] == NULL)
return 0;
}
back = LoadSurface("background.bmp", NULL );
//initialize the sprite's properties
kitty.x = 100;
kitty.y = 150;
kitty.width = 96;
kitty.height = 96;
kitty.curframe = 0;
kitty.lastframe = 5;
kitty.animdelay = 2;
kitty.animcount = 0;
kitty.movex = 8;
kitty.movey = 0;
//return okay
return 1;
}
Я связал d3d9.lib и d3dx9.lib с моим проектом и включил все необходимые мне заголовочные файлы (d3d9.h, d3dx9.h). Любая помощь с благодарностью! Заранее спасибо !!!