Fehler : undefined reference to '_GetStockObject@4'
Verfasst: Fr Mär 06, 2009 9:35 pm
Servus.
Ich bin mir nicht ganz sicher, ob das hier reinpasst, da ich keine anderen derartigen Einträge hier sehe, doch die Beschreibung dieses Forum war ja eigentlich 'Probleme, Winapi,conio.h' oder so ähnlich...also egal^^.
Da ich auf dieses Tutorial
http://www.win-api.de/tutorials.php?Ses ... efbe2bd14c
verwiesen wurde, wollte ich es einfach einmal ausprobieren. Das (01.) war einfach und lief fehlerfrei, (02.) jedoch nicht.
Bei jedem Kompilieren wird mir die Fehlermeldung - undefined reference to '_GetStockObject@4' - angezeigt.
Ich bentze Code::Blocks, doch das dürfte ja eigentlich keine Rolle spiele. Ich habe auch gelesen, dass es irgendwie ein Linkerfehler ist.
Wäre nett, wenn jemand Rat wüsste.
Ich bin mir nicht ganz sicher, ob das hier reinpasst, da ich keine anderen derartigen Einträge hier sehe, doch die Beschreibung dieses Forum war ja eigentlich 'Probleme, Winapi,conio.h' oder so ähnlich...also egal^^.
Da ich auf dieses Tutorial
http://www.win-api.de/tutorials.php?Ses ... efbe2bd14c
verwiesen wurde, wollte ich es einfach einmal ausprobieren. Das (01.) war einfach und lief fehlerfrei, (02.) jedoch nicht.
Code: Alles auswählen
//tutorial --> http://www.win-api.de/tutorials.php?tutid=3&SessID=9022971a9c88b9411e350cefbe2bd14c
#define STRICT
#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
const char szAppName[]="Ein eigenes Fenster";
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR 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(WHITE_BRUSH);
wc.lpszClassName= szAppName;
wc.lpszMenuName = NULL;
RegisterClass(&wc);
hWnd = CreateWindow(szAppName,
"Titelleiste",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
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 bentze Code::Blocks, doch das dürfte ja eigentlich keine Rolle spiele. Ich habe auch gelesen, dass es irgendwie ein Linkerfehler ist.
Wäre nett, wenn jemand Rat wüsste.