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