tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
645
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Kimble
    Kimble Kimble ist offline Mitglied Brokat
    Registriert seit
    May 2001
    Beiträge
    334
    hi,
    Ich mich jetzt vom DOS-Fenster losgerissen und mir ein Tutorials über die Win-API durchgelesen und wie man ein Fenster erstellt.
    Wenn ich den Code unter VC++ 6.0 kompiliere, erscheinen folgende Fehhlermeldungen:
    Code :
    1
    2
    
    LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
    Debug/main.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise

    Kann mir einer bitte helfen?

    hier ist dann schließlich noch der Code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    
    #define WIN32_LEAN_AND_MEAN         // MFC abschalten
     
    #include <windows.h>                // include ALLER Windows-Header
    #define WNDCLASSNAME "Win-Tutorial"
     
    LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
    {
        PAINTSTRUCT ps;                 // benutzt in WM_PAINT
        HDC hdc;                        // Handle für einen Verweis
     
        // Was für eine Message (msg)?
        switch(msg)
        {
            case WM_CREATE:
                {
                    return(0);
                } break;
     
            case WM_PAINT:
                {
                    // Handle auf BeginPaint
                    hdc = BeginPaint(hwnd,&ps);
                    EndPaint(hwnd,&ps);
                    return(0);
                } break;
     
            case WM_DESTROY:
                {
                    // Beende Aplication - QuitMessage senden
                    PostQuitMessage(0);
                    return(0);
                } break;
     
            default: break;
        }
     
        return(DefWindowProc(hwnd, msg, wparam, lparam));
    } // WinProc
     
    /*****************************************************************
     *****      Hier beginnt der Hauptteil des Programms         *****
     *****                       WINMAIN                         *****
     *****************************************************************/
    int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow)
    {
        WNDCLASSEX winclass;                // Klasse zum erstellen des Fensters
        HWND hwnd;                          // Handle des Fensters
        MSG msg;                            // Nachrichten
     
        winclass.cbSize = sizeof(WNDCLASSEX);
        winclass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
        winclass.lpfnWndProc = WindowProc;
        winclass.cbClsExtra = 0;
        winclass.cbWndExtra = 0;
        winclass.hInstance = hinstance;
        winclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
        winclass.hCursor = LoadCursor(NULL, IDC_ARROW);
        winclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
        winclass.lpszMenuName = NULL;
        winclass.lpszClassName = WNDCLASSNAME;
        winclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
     
        // Windows-Klasse registrieren
        if(!RegisterClassEx(&winclass))
            return(0);
     
        // Erstellt das Fenster
        if(!(hwnd = CreateWindowEx (NULL,
                                    WNDCLASSNAME,                       // Name der Klasse
                                    "Your Basic Window",                // Titel des Fensters       
                                    WS_OVERLAPPEDWINDOW | WS_VISIBLE,
                                    0,0,                                // x,y Linksoben
                                    400,400,                            // x,y Rechtsunten
                                    NULL,                               // Handle des Vorgängers
                                    NULL,                               // Handle fürs Menü
                                    hinstance,                          // instance der Apllication
                                    NULL)))                             // zusätzliche Parameter
            return(0);
     
        // Beginne main-Schleife
        while(GetMessage(&msg, NULL, 0, 0))
        {
            // Übersetzt Messages
            TranslateMessage(&msg);
     
            // Sende die NAchricht an WindowProc
            DispatchMessage(&msg);
        } // end while
     
        // Kehre zu Windows zurück
        return(msg.wParam);
    } // WinMain
     

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.800
    Blog-Einträge
    5
    Ich würde mal checken, ob du die richtigen Bibliotheken linkst, bzw. ob du überhaupt ein "Win32-Anwendung"-Projekt erstellt hast.
     

  3. #3
    Avatar von Kimble
    Kimble Kimble ist offline Mitglied Brokat
    Registriert seit
    May 2001
    Beiträge
    334
    Danke,
    jetzt geht's******
    Hab keinw Win32-Anwendung erstellt, sondern nur main.cpp und die dann in VC++ geöffnet!
    cu und danke
     

Ähnliche Themen

  1. [C++]WinMain() später laden
    Von Ninjasturm im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 01.09.10, 20:29
  2. Antworten: 5
    Letzter Beitrag: 13.03.08, 08:12
  3. Antworten: 2
    Letzter Beitrag: 12.02.08, 19:26
  4. Antworten: 0
    Letzter Beitrag: 07.08.07, 18:12
  5. Mit WinMain eine Konsole erstellen
    Von partitionist im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 04.04.05, 19:46