Mr. Miyagi Geschrieben 11. November 2008 Geschrieben 11. November 2008 Hallo an alle, ich beschäftige mich privat hauptsächlich mit 3D Entwicklung mit OpenGL. Da ich immer mal wieder über C++ "gefallen" bin und seit einiger Zeit Probleme habe mit Delphi bin ich nun seit ein paar Tagen komplett umgestiegen auf C++, SDL und OpenGL. Als Entwicklungsumgebung sollte also schnell ein kostenloses Programm her. Die Wahl viel auf Code::Blocks, womit meine Probleme auch anfingen. Ich kann keine Klasse erstellen, eine Struktur aber schon. Der Compiler gibt als Meldung an, dass er class nicht kennt. Eigentlich gibt er die gleiche Meldung nur aus wenn ich eine Headerdatei nicht eingebunden habe oder eine Bibliothek nicht gelinkt habe. Muss man denn in Code::Blocks irgendwo eine Bibliothek laden damit er C++ spezifische Befehle erkennt ? Denn der Compiler meckert auch wenn ich bei #include <BeliebigeDatei.h> das .h weglasse. Bin aber der Meinung, gelesen zu haben, dass nur C diese Dateiendung braucht. Genauso das C nur struct kennt und nicht class. Deshalb meine Vermutungen das der standardmäßige Code::Blocks Compiler kein C++ kennt. Habe mir übrigens noch Dev Cpp runter geladen und dort taucht kein Fehler auf. Dort kann man nämlich gleich beim erstellen des Projektes die Programmiersprache wählen die man benutzt. Würde aber gerne Code::Blocks bernutzen da mir das Syntax Highlighting und die automatische Formatierung besser gefällt. Zumal Code::Blocks anscheinend noch entwickelt wird. Bei Dev Cpp ist ja die aktuelleste Version von 2006 und die ist ja seit dem immer noch in der Beta. Danke schonmal im Vorraus und hoffe ihr könnt mir helfen. Zitieren
Klotzkopp Geschrieben 11. November 2008 Geschrieben 11. November 2008 Ich kann keine Klasse erstellen, eine Struktur aber schon. Der Compiler gibt als Meldung an, dass er class nicht kennt.Es wird offensichtlich ein C-Compiler verwendet. Das kann ich mir nur so erklären, dass du beim Anlegen des Projekts C und nicht C++ ausgewählt hast. Zitieren
Mr. Miyagi Geschrieben 11. November 2008 Autor Geschrieben 11. November 2008 Danke ... ... nur meine Frage ist dann: " Wo stelle ich das in Code::Blocks ein? " Ich verwende den GNU CC Compiler der mit dabei ist und wollte diesen auch behalten. Ich linke zur Zeit in einem kleinen Template zur Initialisierung von OpenGL und SDL: -lmingw32 -lSDLMain -lSDL -lopengl32 -lglu32 Liegt hier vielleicht schon der Fehler oder kann man irgendwas in den Optionen von Code::Blocks einstellen? Bin halt erst seit ein paar Tagen richtig dabei und begreife das mit dem linken und einstellen noch nicht so. Kann es sein das lmingw32 eine C Bibliothek ist ? Zitieren
Klotzkopp Geschrieben 11. November 2008 Geschrieben 11. November 2008 Danke ... ... nur meine Frage ist dann: " Wo stelle ich das in Code::Blocks ein? "Wie gesagt, beim Erstellen des Projekts. Du kannst das auch in den Dateieigenschaften für jede Source-Datei anpassen. Ich verwende den GNU CC Compiler der mit dabei ist und wollte diesen auch behalten.Dann hast du ein grundsätzliches Problem. Unter "CC" versteht Code::Blocks nämlich soweit ich weiß den C-Compiler. Der C++-Compiler wird durch Verwendung von "CPP" benutzt. Zitieren
Mr. Miyagi Geschrieben 11. November 2008 Autor Geschrieben 11. November 2008 Ja ich hab mich jetzt mal weiter informiert. Es hieß zwar GNU GCC, aber das hat nichts geändert. Es scheint ein C-Compiler zu sein. In den Dateieigenschaften steht auch, dass ihr relativer Pfad D:\...\Dateiname.c ist obwohl sie als .cpp abgespeichert sind. Soviel also dazu. Danke für die Informationen. So hab ich wenigstens darauf geachtet. Werde mich erstmal auf die Suche machen nach C++ Compiler für Code::Blocks. Zitieren
Klotzkopp Geschrieben 12. November 2008 Geschrieben 12. November 2008 Werde mich erstmal auf die Suche machen nach C++ Compiler für Code::Blocks.Es gibt auch einen Download für Code::Blocks, bei dem gleich ein kompletter MinGW mitinstalliert wird. Zitieren
Mr. Miyagi Geschrieben 12. November 2008 Autor Geschrieben 12. November 2008 Hab nun alles hinbekommen. Mein Problem war, dass meine Datei "Dateiname.cpp.c" (das letzte C fügte das Programm hinzu) hieß, da ich die Endung aus Gewohnheit immer hingeschrieben habe. Nur der von Code::Blocks mitgelieferte Compiler erkennt ja anhand der Dateiendung ob es sich um C oder C++ handeln soll. Mein Betriebssystem habe ich gerade mal neu installiert und vorher war "Dateiendungen einblenden" aktiviert, was nun nicht der Fall war und ich dadurch nicht das letzte C gesehen habe. Mir hätte es zwar schon merkwürdig vorkommen müssen, dass generell nirgens Dateiendungen angezeigt werden außer bei den "gefälschten" cpp Datein aber naja ... dummer Fehler, aber man sieht ja bekanntlich nur das was man sehen will. Danke für die Hilfe. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.