Compilierfehler in C++ -Beispiel in Visual Studio 2008 (help needed)
-
Habe das Buch "3d-Spiele mit C++ und DirectX in 21 Tagen" von Alexander Rudolph vor mir. Das Listing zur Erzeugung eines Fensters habe ich in Visual Studio 2008 eingegeben. Beim kompilieren tritt folgender Fehler auf:
Error LNK2019: unresolved external symbol "void __cdecl Game_Init(void)" (?Game_Init@@YAXXZ) referenced in function _WinMain@16. Dazu der Folgefehler:
Error fatal error LNK1120: 1 unresolved externals.
Der Code ist folgender:// // DEFINES // #define WINDOW_CLASS_NAME L"Game Shell Window" #define WIN32_LEAN_AND_MEAN // // INCLUDES // #include <windows.h> // // MACROS #define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code)&0x8000)?1:0) #define KEYUP(vk_code) ((GetAsynckeyState(vk_code)&0x8000)?0:1) // // GLOBALS // HWND main_window_handle = NULL; HINSTANCE hinstance_app = NULL; // // Wichtige GAME-Funktionsprototypen // void Game_Shutdown(void); void Game_Init(void); void Game_Main(void); // Funktionsdefinitionen // LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { PAINTSTRUCT ps; HDC hdc; // Nachrichtenverarbeitung switch(msg) { case WM_CREATE: { return(0); } break; case WM_PAINT: { hdc = BeginPaint(hwnd,&ps); EndPaint(hwnd,&ps); return(0); } break; case WM_DESTROY: { PostQuitMessage(0); return(0); } break; default: break; } return (DefWindowProc(hwnd, msg, wparam, lparam)); } ///////////////////////////////////////////////////////////// int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow) { WNDCLASSEX winclass; HWND hwnd; MSG msg; // Fenstereigenschaften festlegen: winclass.cbSize = sizeof(WNDCLASSEX); winclass.style = CS_HREDRAW | CS_VREDRAW; winclass.lpfnWndProc = WindowProc; winclass.cbClsExtra = 0; winclass.cbWndExtra = 0; winclass.hInstance = hinstance; winclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); winclass.hCursor = LoadCursor(NULL, IDC_ARROW); winclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); winclass.lpszMenuName = NULL; winclass.lpszClassName = WINDOW_CLASS_NAME; winclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION); hinstance_app = hinstance; if( !RegisterClassEx(&winclass)) return(0); if(!(hwnd = CreateWindowEx(NULL, WINDOW_CLASS_NAME, L"My Game Shell", WS_OVERLAPPEDWINDOW | WS_VISIBLE, 0,0, 800,600, NULL, NULL, hinstance, NULL))) return(0); main_window_handle = hwnd; Game_Init(); while(TRUE) // Nachrichtenweiterleitung { if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { if(msg.message == WM_QUIT) break; TranslateMessage(&msg); DispatchMessage(&msg); } Game_Main(); } Game_Shutdown(); return(msg.wParam); } ///////////////////////////////////////////////////////////// void Game_lnit(void) {} ///////////////////////////////////////////////////////////// void Game_Main(void) { // Mit ESC kann die Anwendung verlassen werden if(KEYDOWN(VK_ESCAPE)) SendMessage(main_window_handle,WM_CLOSE,0,0); } ///////////////////////////////////////////////////////////// void Game_Shutdown(void) {}Kann mir jemand bitte helfen?

-
Zeile 123: Die Funktion muss Game_Init () heißen, nicht Game_lnit ()...
-
Dummer Schreibfehler ... Danke für den Hinweis
