Linktool Fehler LNK2019
-
Ich kriege immer wieder diese Fehlermeldung:
1>tad.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)" in Funktion ""struct HWND__ * __cdecl ErstelleHauptfenster(struct HINSTANCE__ *)" (?ErstelleHauptfenster@@YAPAUHWND__@@PAUHINSTANCE__@@@Z)".
1>C:\Users\Josh\documents\visual studio 2010\Projects\Today\Debug\Today.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.bei diesem Code:
//... void ErstelleSteuerelemente (HWND hWnd, HINSTANCE hInst) { hScroll = CreateWindow ("EDIT", NULL, WS_VISIBLE | WS_CHILD | WS_VSCROLL | ES_AUTOVSCROLL | WS_BORDER | ES_MULTILINE | ES_READONLY , 20,100, 450,100, hWnd,(HMENU)ID_SCROLL, hInst, NULL); const TCHAR* text = TEXT(szAGB); SendMessage(hScroll, WM_SETTEXT, 0, reinterpret_cast<LPARAM>(text)); hText = CreateWindow ("STATIC", "Gedichte", WS_VISIBLE | WS_CHILD | ES_CENTER , 0, 0, 450, 20, hWnd, (HMENU)ID_STATICTEXT, hInst, NULL); hPlay = CreateWindow ("BUTTON", "Play", BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD, 190, 50, 95, 40, hWnd, (HMENU)ID_PLAY, hInst,NULL); hBeenden = CreateWindow ("BUTTON", "Beenden", BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD, 300, 50, 95, 40, hWnd, (HMENU)ID_BTN_BEENDEN, hInst, NULL); } LRESULT CALLBACK WindowProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam,HINSTANCE hInst) { HDC hdc, hdcMem; static HBITMAP hBitMap; static BITMAP bitmap ; PAINTSTRUCT ps ; switch (message) { case WM_CREATE: hBitMap = (HBITMAP)LoadImage(0,"bitmap.bmp",IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE|LR_LOADFROMFILE|LR_CREATEDIBSECTION); if(hBitMap==NULL) { MessageBox(hWnd,"Bild konnte nicht geladen werden","Error",0); return -1; } GetObject (hBitMap, sizeof (BITMAP), &bitmap) ; return 0; case WM_PAINT: hdc = BeginPaint (hWnd, &ps) ; hdcMem = CreateCompatibleDC (hdc) ; SelectObject (hdcMem, hBitMap) ; BitBlt (hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY) ; DeleteDC (hdcMem) ; EndPaint (hWnd, &ps) ; return 0 ; case WM_DESTROY: { DeleteObject(hBitMap); PostQuitMessage (0); return (0); } //Child Fenster case WM_COMMAND: { switch (wParam) { case ID_PLAY: PlaySound("wndw.wav",0,SND_ASYNC|SND_FILENAME); break; case ID_BTN_BEENDEN: { int Resultat; Resultat = MessageBox (hWnd, "Wirklich beenden?", "Programm beenden", MB_YESNO | MB_ICONQUESTION); if (Resultat == IDYES) { PostQuitMessage (0); return (0); } return (0); } } break; } break; } return (DefWindowProc (hWnd, message, wParam, lParam) ); }
Weis jemand woran das liegt ?
-
Wo hast du denn die problematische Funktion ErstelleHauptfenster()?
Ansonsten solltest du mal die vom Linker geforderte Funktion mit dem vergleichen, was du angelegt hast - deine WindowProc() hat einen überflüssigen Parameter
-
Stimmt hInst aber den habe ich nur reingetan weil der Compiler gemeckert hat das er bei der Callback Funktion das er nicht weiß was das ist ^^
Aber jetzte funzts Danke !