JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=821408c23aa78573038ffb6f6dd917f1Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Anfänger braucht Hilfstipp (B I T T E)

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
lisandi6
Mini JLI'ler


Alter: 61
Anmeldedatum: 16.03.2009
Beiträge: 8
Wohnort: In den Bergen
Medaillen: Keine

BeitragVerfasst am: 22.02.2012, 18:16    Titel: Anfänger braucht Hilfstipp (B I T T E) Antworten mit Zitat

Hy Leute

es geht einfach darum dass ich beim erstellen meines ersten
windows Fenster verzweifle.
Ich arbeite mit Code Block 10.05
GNU GCC Compiler
und erhalte folgende Fehlermeldung
-------------------------------------------------------------------------------
Linking executable: bin\Release\Einfaches Fenster.exe
obj\Release\Einfaches Fenster.o:Einfaches Fenster.cpp:(.text+0x50): multiple definition of `WinMain@16'
obj\Release\main.o:main.cpp:(.text+0x0): first defined here
collect2: ld returned 1 exit status
Process terminated with status 1 (0 min, 0 seconds)
2 errors, 0 warnings
----------------------------------------------------------------------------------
und hier mein Quellcode

----------------------------------------------------------------------------------

CPP:
#ifndef EINFACHES_FENSTER_CPP_INCLUDED
#define EINFACHES_FENSTER_CPP_INCLUDED


#endif //EINFACHES_FENSTER_CPP_INCLUDE

#include <windows.h>

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

LPCSTR lpszAppName  = "AppName";
LPCSTR lpszTitle    = "Einfaches Fenster";

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     PSTR szCmdLine,
                     int iCmdShow)
{
    HWND       hWnd;
    MSG        msg;
    WNDCLASSEX  wc;

    wc.cbSize        = sizeof(WNDCLASSEX);
    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 = lpszAppName;
    wc.lpszMenuName  = lpszAppName;
    wc.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);

    if(RegisterClassEx(&wc) ==0)
       return 0;

    hWnd = CreateWindowEx(NULL,
                          lpszAppName,
                          lpszTitle,
                          WS_OVERLAPPEDWINDOW,
                          0,
                          0,
                          CW_USEDEFAULT,
                          CW_USEDEFAULT,
                          NULL,
                          NULL,
                          hInstance,
                          NULL);

    if( hWnd == NULL)
      return 0;

    ShowWindow(hWnd, iCmdShow);
    UpdateWindow(hWnd);

    while (GetMessage(&msg, NULL, 0,0)>0)
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT umsg, WPARAM wParam, LPARAM lParam)
{
    switch (umsg)
    {
    case WM_DESTROY:
       {
          PostQuitMessage(0);
          return 0;
       }
    }
    return DefWindowProc(hWnd, umsg, wParam, lParam);
}

------------------------------------------------------------------------------
Bin wirklich für jede Antwort dankbar
MfG lisandi6
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Otscho
Super JLI'ler


Alter: 35
Anmeldedatum: 31.08.2006
Beiträge: 338
Wohnort: Gummibären-Gasse
Medaillen: Keine

BeitragVerfasst am: 22.02.2012, 20:20    Titel: Antworten mit Zitat

CPP:
#ifndef EINFACHES_FENSTER_CPP_INCLUDED
#define EINFACHES_FENSTER_CPP_INCLUDED


#endif //EINFACHES_FENSTER_CPP_INCLUDE

#include <windows.h>

Macht nur bedingt Sinn.
Probiers mal mit:
CPP:
#ifndef EINFACHES_FENSTER_CPP_INCLUDED
#define EINFACHES_FENSTER_CPP_INCLUDED
#include <windows.h>
#endif //EINFACHES_FENSTER_CPP_INCLUDE


Wobei das eigentlich nur dann Probleme bereiten sollte wenn, der Code in einer Datei steht, die von anderen includiert wird.

Ist das deine einzige Header- bzw. Source-Datei die du kompilierst ?


APIENTRY hab ich auch noch nie gehört. Ist aber anscheinend das selbe wie WINAPI. Evtl. kannst da auch folgendes Probieren:
CPP:
int WINAPI WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR lpCmdLine,
                     int nCmdShow )

Zugegeben ist ein wenig rumgerate von mir Very Happy . Aber evtl hilft's.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
lisandi6
Mini JLI'ler


Alter: 61
Anmeldedatum: 16.03.2009
Beiträge: 8
Wohnort: In den Bergen
Medaillen: Keine

BeitragVerfasst am: 22.02.2012, 21:14    Titel: Antworten mit Zitat

Hy Otscho

Danke für deine schnelle Antwort.
Habe jetzt alles so geändert wie du es vorgeschlagen hast
und habe jetzt folgende Mitteilung

C:\Entwicklung\Einfaches Fenster\Einfaches Fenster.o:Einfaches Fenster.cpp|| undefined reference to `GetStockObject@4'|


wegen der Headerdatei
die habe ich eigens für dieses (mein erstes)Projekt erstellt.
Könnte natürlich sein dass hier der Fehler liegt

MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
lisandi6
Mini JLI'ler


Alter: 61
Anmeldedatum: 16.03.2009
Beiträge: 8
Wohnort: In den Bergen
Medaillen: Keine

BeitragVerfasst am: 22.02.2012, 22:03    Titel: Antworten mit Zitat




So sieht es in meinem Ordner aus
und über die main.ccp
öffnet sich dieses Fenster.
Ist das aber auch mein erstes Windowsfenster ?????
Bitte seid nachsichtig mit mir
Embarassed
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 23.02.2012, 10:01    Titel: Antworten mit Zitat

Nein, das ist noch kein Windows-Fenster.
Das ist ein Consolenfenster, also wird deine Anwendung noch als Consolenanwendung compiliert.

OpenSource und GCC in allen Ehren, aber warum verwendest du nicht das Visual Studio (C++ Express)?
Denn ich denke größtenteils liegen deine Fehler in falschen Compilereinstellungen und / oder nicht vollständig konfigurierten Verweispfaden.
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
lisandi6
Mini JLI'ler


Alter: 61
Anmeldedatum: 16.03.2009
Beiträge: 8
Wohnort: In den Bergen
Medaillen: Keine

BeitragVerfasst am: 23.02.2012, 20:25    Titel: Antworten mit Zitat

danke für den Tip
hab mir jetzt Visual C++ 2008 raufgeladen
und ich glaube ich hab mein erstes Windows Fenster
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 23.02.2012, 22:09    Titel: Antworten mit Zitat

Na Bitteschön.
Hier kannst du die Properties doch vernünftig einstellen...
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
lisandi6
Mini JLI'ler


Alter: 61
Anmeldedatum: 16.03.2009
Beiträge: 8
Wohnort: In den Bergen
Medaillen: Keine

BeitragVerfasst am: 24.02.2012, 23:45    Titel: Antworten mit Zitat



So dass mit den Fenstern wird solangsam

Thumb Up
_________________
Besser die Zeit aktiv nutzen
anstatt aktiv die Zeit zu stutzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 36
Anmeldedatum: 17.02.2003
Beiträge: 3431
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 26.02.2012, 13:45    Titel: Antworten mit Zitat

Ausgezeichnet Smile
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum