compilieren zeigt fehler - warum ?!
-
Hi
ich bin noch ziemlich neu hier, also wenn das hier im falschen Forum/Thread ist, bitte verschieben.also, ich bin gerade dabei C/C++ zu lernen und hab folgen code original aus dem Buch abgetippt, aber beim compilieren zeigt es mir einen fehler an ..
wisst ihr warum ?if(!(hwnd = CreateWindowEx(NULL, WINDOW_CLASS_NAME, "My Game Shell", WS_OVERLAPPEDWINDOW | WS_VISIBLE, 0,0, 800,600, NULL, NULL, hinstance, NULL)))also das ist nicht der ganze code, nur ein Teil der zicken macht.
hoffe ihr könnt mir helfen

mfg
porkus1990
-
Ich frage mich manchmal echt, wieso die Fehlermeldung so extrem geheim sind, dass man sie unbedingt nicht zeigen möchte. Wieso wollt ihr die Fehlermeldungen nie geben? Es ist doch das logischste auf der Welt, dass man, wenn man eine Fehlermeldung bekommt, diese Fehlermeldung mitangibt...
Zudem ist der Threadtitel nicht sehr Aussagekräftig. Und in diesem Forum gibt es C/C++ Tags. Gleich unten bei den Smilies.
Aja, und wenn ich raten darf:
L"My Game Shell"Das L vor dem String Literal, damit es ein Widestring wird.
Grüssli
-
Also meine Wahrsagekugel is heute nich gut drauf. Im Gegensatz zu Dravere warte ich mal bis die fehlermeldung kommt. Übrigends das was du da amchst ist WINAPI, dafür gibt es ein eigenes Forum.
-
porkus1990 schrieb:
...also wenn das hier im falschen Forum/Thread ist, bitte verschieben.
Du bist im Falschen Forum, und zudem solltest du erst einmal lernen, wie man einen Post so verfasst das man auch eine sinnvolle Antwort erwarten kann.
1. Ist dies wohl am besten im Windows-API Unterforum aufgehoben
2. "aber beim compilieren zeigt es mir einen fehler an" ist keine sinnvolle Fehlerbeschreibung! WAS für ein Fehler wird angezeigt? (Bitte auch nicht 3 Seiten Fehlermeldungen, sondern nur die Ersten angeben - in der Regel macht man dies in einen code-Tag).
3. Es gibt keine Sprache C/C++. C++ mag eine gewisse Abwärtskompatibilität zu C haben, aber der Programmierstil zwischen C und C++ ist in der Regel grundlegend anders.
4. Benutze bitte bei C oder C++ Code die cpp-Tags, nicht wie von dir die code-Tags (Damit die Schlüsselworte hervorgehoben werden).cu André
-
ups.. tut mir leid : /
Compiler: Default compiler Führt g++.exe... aus g++.exe "C:\Users\porkus\Desktop\test2gameshellapp.cpp" -o "C:\Users\porkus\Desktop\test2gameshellapp.exe" -pg -g3 -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" -lgmon -pg -g3 C:\Users\porkus\Desktop\test2gameshellapp.cpp: In function `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)': C:\Users\porkus\Desktop\test2gameshellapp.cpp:118: warning: passing NULL used for non-pointer converting 1 of `HWND__* CreateWindowExA(DWORD, const CHAR*, const CHAR*, DWORD, int, int, int, int, HWND__*, HMENU__*, HINSTANCE__*, void*)' C:\Users\porkus\AppData\Local\Temp/ccmSbaaa.o(.text+0x12e): In function `WinMain': C:/Users/porkus/Desktop/test2gameshellapp.cpp:99: undefined reference to `GetStockObject@4' collect2: ld returned 1 exit status Ausführung beendetdanke für die schnelle antwort
und nochmal sorry wegen der vergessen Kompiler-Log meldung 
edit::
sry..bin heute "etwas" durcheinander....
-
Die Fehlermeldung ist da noch nicht zu Ende, du hast den interessanten Teil weggelassen.
-
Und wirf den DevCpp weg, das Teil ist veraltet und wird nicht mehr weiterentwickelt! Gratis IDEs, welche aktueller und besser sind:
- Micorsoft Visual Studio Express Edition 2008 (ja, Gratis, aber nur Windows)
- Code::Blocks
- CodeLiteGrüssli
-
porkus1990 schrieb:
sry..bin heute "etwas" durcheinander....
Ein Edit wird in der Übersicht nicht angezeigt. Deshalb mache ich nun einen Doppelpost. Wäre aber besser gewesen, du hättest noch auf die beiden Beiträge danach geantwortet.
Bei den Fehlermeldungen ist das erste eine Warnung und die hängt mit deinem gezeigten Code zusammen. Es steht aber ganz genau, was das Problem ist. Es wurde ein
NULLverwendet für eine Variable, welche kein Zeiger darstellt. Die Verwendung von 0 wäre wohl angebracht.Das andere ist ein Linkerfehler und zwar hast du vergessen gegen eine Library zu linken. GetStockObject MSDN:
http://msdn.microsoft.com/en-us/library/dd144925.aspxDort drin steht, dass man gegen
Gdi32.liblinken muss. Mit MinGW dürfte dies wohlGdi32.asein.Grüssli
-
oh, achso..tut mir leid
aha...werd ich mir mal merken, wie gesagt: bin beim prgrammieren lernen, d.h. also noch sehr wenig ahnung

hm...dann hat das buch vllt nen fehler, wie gesagt: habe den code direkt aus dem buch abgeschrieben und auch nochmal verglichen, ob ich vllt nicht etwas vergessen habe. naja, jetzt weiss ich ja woran es liegt:)
danke für die antworten

mfg
porkus1990
-
porkus1990 schrieb:
oh, achso..tut mir leid
aha...werd ich mir mal merken, wie gesagt: bin beim prgrammieren lernen, d.h. also noch sehr wenig ahnung

Dass du bei programmieren lernen Fehler machst ist ok, das ist nicht leicht und nicht von heut auf morgen erledigt. Dass du beim Fragen stellen kapitale Fehler machst ist nicht ok. Es gibt zig FAQs im Netz und in diesem Forum extra einen Post der mit "WICHTIG" markiert ist und heißt "Du brauchst Hilfe?". Es gehört nunmal zum guten Benehmen im Netz, dass man sich erstmal ein wenig selber informiert, wenn man Fragen hat, und wenn du das getan hättest wären dir die Fehler beim Fragen nicht unterlaufen. Einfach reinplatzen, alle vorhandene Hilfestellung ignorieren und stattdessen gleich mit dem Fragen loslegen ist einfach unhöflich.
-
ja, da gebe ich dir recht!
mehr als entschuldigen kann ich mich aber nicht.
werde versuchen, dass in zukunft zu beherzigen