几天来我一直在检查我的代码,更改一些代码以查看它们是否有效,尝试不同的方法来使用我的代码,但我仍然遇到那个烦人的 LNK2019 错误。
这是原始错误消息。
错误 1 错误 LNK2019:未解析的外部符号“public: struct IDirect3DSurface9 * thiscall CRenderer::LoadSurface(wchar_t const *,unsigned long,struct IDirect3DDevice9 *)” (?LoadSurface@CRenderer@@QAEPAUIDirect3DSurface9@@PB_WKPAUIDirect3DDevice9@@@Z) 中引用函数“公共:void __thiscall CGame::InitGame(struct HWND *,int,int,bool)”(?InitGame@CGame@@QAEXPAUHWND__@@HH_N@Z) J:\Workspace\Fruit Avengers\Game.obj
这是我认为问题所在的代码。我在以前的项目中使用过这个代码。我只是不知道为什么这一次没有奏效。
渲染器.h
class CRenderer
{
public:
IDirect3DTexture9* LoadTexture( LPCSTR FileName, D3DCOLOR Alpha, IDirect3DDevice9* Device );
IDirect3DSurface9* LoadSurface( LPCWSTR FileName, D3DCOLOR Alpha, IDirect3DDevice9* Device );
};
渲染器.cpp
IDirect3DSurface9* CRenderer::LoadSurface( LPCWSTR FileName, D3DCOLOR Alpha, IDirect3DDevice9* Device )
{
IDirect3DSurface9* Result = NULL;
D3DXIMAGE_INFO Info;
D3DXGetImageInfoFromFileW( FileName, &Info );
Device->CreateOffscreenPlainSurface( Info.Width, Info.Height, D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, &Result, NULL );
D3DXLoadSurfaceFromFileW( Result, NULL, NULL, FileName, NULL, D3DX_DEFAULT, Alpha, NULL );
return Result;
}
游戏.cpp
void CGame::InitGame( HWND hWnd, int Width, int Height, bool Windowed )
{
//Initialize Includes
Graphics.InitDirect3D( hWnd, Width, Height, Windowed );
//Load Game Variables...
//Load Game Media...
MenuBackground = WWIRenderer.LoadSurface( L"Resource/MenuBackground.jpg", 0, Graphics.Direct3DDevice );
//^
}
编辑:在有人问之前,我已经进行了一些搜索,但我找到的答案并没有那么有用。