Fehler beim Kompilieren



  • Hallo,
    ich versuche jetzt schon ne Woche mit dem Visual C++ 2005 Express Edition
    ein einfaches Fenster über die WinAPI zu programmieren.

    Das Hier ist der Text:

    #include <windows.h>
    
    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
    
    const char szAppName[] = "Window";
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    				   LPSTR szCmdLine, int iCmdShow)
    {
    	HWND       hWnd;
    	MSG        msg;
    	WNDCLASS   wc;
    
    	wc.style               = CS_HREDRAW | CS_VREDRAW;
    	wc.lpfnWndProc         = WndProc;
    	wc.cbClsExtra          = 0;
    	wc.cbWndExtra          = 0;
    	wc.hInstance           = hInstance;
    	wc.hCursor             = LoadCursor(NULL, IDC_ARROW);
    	wc.hIcon               = LoadIcon(NULL, IDI_APPLICATION);
    	wc.hbrBackground       = (HBRUSH)GetStockObject(BLACK_BRUSH);
    	wc.lpszClassName       = szAppName;
    	wc.lpszMenuName        = NULL;
    
    	RegisterClass(&wc);
    
    	hWnd = CreateWindow(szAppName,
    		                szAppName,
    						WS_OVERLAPPEDWINDOW,
    						0,
    						0,
    						320,
    						240,
    						NULL,
    						NULL,
    						hInstance,
    						NULL);
    
    	ShowWindow(hWnd, iCmdShow);
    	UpdateWindow(hWnd);
    
    	while(GetMessage(&msg, NULL, 0, 0))
    	{
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    	return msg.wParam;
    }
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	switch(message)
    	{
    	   case WM_DESTROY:
    	   {
    		   PostQuitMessage(0);
    		   return 0;
    	   }
    	}
    	return DefWindowProc(hWnd, message, wParam, lParam);
    }
    

    Ich kenn mich in der WinAPI noch nicht besonders gut aus, aber ich denke schon, das der Text richtig ist, den im Borland C++ Builder funktioniert er einwandfrei.

    Aber im VC++ bekomm ich immer diese Fehlermeldung:

    1>------ Erstellen gestartet: Projekt: 4, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>main.cpp
    1>Verknüpfen...
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__PostQuitMessage@4" in Funktion ""long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DefWindowProcA@16" in Funktion ""long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__TranslateMessage@4" in Funktion "_WinMain@16".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DispatchMessageA@4" in Funktion "_WinMain@16".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetMessageA@16" in Funktion "_WinMain@16".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__UpdateWindow@4" in Funktion "_WinMain@16".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion "_WinMain@16".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__CreateWindowExA@48" in Funktion "_WinMain@16".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__RegisterClassA@4" in Funktion "_WinMain@16".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetStockObject@4" in Funktion "_WinMain@16".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__LoadIconA@8" in Funktion "_WinMain@16".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__LoadCursorA@8" in Funktion "_WinMain@16".
    1>C:\Dokumente und Einstellungen\Phil\Eigene Dateien\Visual Studio 2005\Projects\4\Debug\4.exe : fatal error LNK1120: 12 nicht aufgelöste externe Verweise.
    1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Phil\Eigene Dateien\Visual Studio 2005\Projects\4\4\Debug\BuildLog.htm" gespeichert.
    1>4 - 13 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    

    Kann mir da jemand helfen?



  • Dann nimmt man sich die 1. beste Fehler verursachende Funktion und guckt nach wo se denn definiert ist. http://msdn2.microsoft.com/en-us/library/ms644945.aspx ... und man sieht, das man user32.lib linken muss 🙂



  • (D)Evil schrieb:

    Dann nimmt man sich die 1. beste Fehler verursachende Funktion und guckt nach wo se denn definiert ist. http://msdn2.microsoft.com/en-us/library/ms644945.aspx ... und man sieht, das man user32.lib linken muss 🙂

    Vielen Vielen Dank, nun komm ich zurecht. _
    Hab schon ne Woche lang rum probiert T_T


Anmelden zum Antworten