0

数日間 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) を含めました。どんな助けでも大歓迎です!前もって感謝します!!!

4

1 に答える 1

1

リンカがそのような機能がないと不平を言っているようですLoadSurface。どこで定義しましたか?

于 2011-07-05T03:29:29.583 に答える