|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
lisandi6 Mini JLI'ler
Alter: 62 Anmeldedatum: 16.03.2009 Beiträge: 8 Wohnort: In den Bergen Medaillen: Keine
|
Verfasst am: 22.02.2012, 19:16 Titel: Anfänger braucht Hilfstipp (B I T T E) |
|
|
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 |
|
|
Otscho Super JLI'ler
Alter: 35 Anmeldedatum: 31.08.2006 Beiträge: 338 Wohnort: Gummibären-Gasse Medaillen: Keine
|
Verfasst am: 22.02.2012, 21:20 Titel: |
|
|
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 . Aber evtl hilft's. |
|
Nach oben |
|
|
lisandi6 Mini JLI'ler
Alter: 62 Anmeldedatum: 16.03.2009 Beiträge: 8 Wohnort: In den Bergen Medaillen: Keine
|
Verfasst am: 22.02.2012, 22:14 Titel: |
|
|
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 |
|
|
lisandi6 Mini JLI'ler
Alter: 62 Anmeldedatum: 16.03.2009 Beiträge: 8 Wohnort: In den Bergen Medaillen: Keine
|
Verfasst am: 22.02.2012, 23:03 Titel: |
|
|
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
|
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 23.02.2012, 11:01 Titel: |
|
|
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 |
|
|
lisandi6 Mini JLI'ler
Alter: 62 Anmeldedatum: 16.03.2009 Beiträge: 8 Wohnort: In den Bergen Medaillen: Keine
|
Verfasst am: 23.02.2012, 21:25 Titel: |
|
|
danke für den Tip
hab mir jetzt Visual C++ 2008 raufgeladen
und ich glaube ich hab mein erstes Windows Fenster
|
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 23.02.2012, 23:09 Titel: |
|
|
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 |
|
|
lisandi6 Mini JLI'ler
Alter: 62 Anmeldedatum: 16.03.2009 Beiträge: 8 Wohnort: In den Bergen Medaillen: Keine
|
Verfasst am: 25.02.2012, 00:45 Titel: |
|
|
So dass mit den Fenstern wird solangsam
_________________ Besser die Zeit aktiv nutzen
anstatt aktiv die Zeit zu stutzen |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 36 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
|
Nach oben |
|
|
|
|
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
|