MinGW Linkerfehler??

Gast #1312085
Lesenswert?

Hallo.

Ich programmiere schon recht lange mit c/c++, aber nur Kommandozeile. 
Nun bin ich gerade dabei mit MinGW mein erstes Windows programm zu 
erstellen.

Der Programmcode sieht so aus.
1
#include <windows.h>
2

3
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
4

5
int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPreInstance, PSTR szCmdLine, int iCmdShow)
6
{
7

8
  
9
  static TCHAR szAppName[] = TEXT ("hallo");
10
  HWND    hwnd;
11
  MSG     msg;
12
  WNDCLASS   wndclass;
13
  
14
  wndclass.style      = CS_HREDRAW | CS_VREDRAW ;
15
  wndclass.lpfnWndProc  = WndProc;
16
  wndclass.cbClsExtra    = 0;
17
  wndclass.cbWndExtra    = 0;
18
  wndclass.hInstance    = hInstance;
19
  wndclass.hIcon      = LoadIcon (NULL, IDI_APPLICATION);    // lädt ein Icon für das Programm
20
  wndclass.hCursor    = LoadCursor (NULL, IDC_ARROW );    // lädt einen MausCursor für das Programm
21
  wndclass.hbrBackground  = (HBRUSH) GetStockObject (WHITE_BRUSH);
22
  wndclass.lpszMenuName  = NULL;
23
  wndclass.lpszClassName = szAppName;
24
  
25
  hwnd = CreateWindow (
26
            szAppName,
27
            TEXT ("Das"),
28
            WS_OVERLAPPEDWINDOW,
29
            CW_USEDEFAULT,
30
            CW_USEDEFAULT,
31
            CW_USEDEFAULT,
32
            CW_USEDEFAULT,
33
            NULL,
34
            NULL,
35
            hInstance,
36
            NULL
37
            );
38
            
39
  ShowWindow (hwnd, iCmdShow);
40
  UpdateWindow (hwnd);
41
  
42
  while (GetMessage (&msg, NULL, 0 , 0))
43
  {
44
    TranslateMessage( &msg);
45
    DispatchMessage (&msg);
46
  }
47
  
48
  return msg.wParam;
49
            
50
}
51
  
52
  
53
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
54
{
55

56
  HDC hdc;
57
  PAINTSTRUCT ps;
58
  RECT  rect;
59
  
60
  switch(message)
61
  {
62
  
63
  }
64
  
65

66
  return DefWindowProc ( hwnd, message, wParam, lParam);
67

68
}

OK. Das Programm macht nicht viel...

Bei compilieren bekomme ich folgenden Fehler:

C:\ccode\00002_createFenster>g++ messagebox.c -o messagebox
C:\DOCUME~1\Schepper\LOCALS~1\Temp/cc87wcu8.o:messagebox.c:(.text+0x67): 
undefin
ed reference to `GetStockObject@4'
collect2: ld returned 1 exit status

Im Internet habe ich schon gesucht. Hier schreiben die, dass wäre ein 
Linker fehler wegen irgendeiner LIB...


Was muss ich konkret eingeben, dass es compiliert werden 
kann??????????????

Sonst habe ich immer mit MS Prdukte gearbeitet...

Vielen Dank für eure Unterstützung.
Persönliche Seite #1312126
Lesenswert?

Martin schrieb:
> C:\ccode\00002_createFenster>g++ messagebox.c -o messagebox
> C:\DOCUME~1\Schepper\LOCALS~1\Temp/cc87wcu8.o:messagebox.c:(.text+0x67):
> undefin
> ed reference to `GetStockObject@4'
> collect2: ld returned 1 exit status
>
> Was muss ich konkret eingeben, dass es compiliert werden
> kann?

Mit gcc für C-Projekte statt mit g++ (für C++-Projekte) arbeiten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren