Grundlegend: Einstieg in die C++-Programmierung (Unter Linux)

Stummi

Grünschnabel
Hoi,
vorweg: Ich bin kein Programmieranfänger, sondern programmiere schon seit Jahren. Angefangen hab ich mit verschiedenen Basic-Dialekten, seit ca anderthalbem Jahr mach ich auch Java.

Nun will ich auch mit c++-anfangen, aber irgendwie will mir der Einstieg nicht so recht allein gelingen. Ich hoffe, ihr könnt mir bei einigen Fragen helfen.

Also die C++-Syntax und die Grundlagen des Kompilierens habe ich verstanden. Ich kann ein Hello-World-Programm schreiben und dies über das Terminal compilieren und ausführen.

Doch dann hört es bei mir auch schon wieder auf.

Das erste Problem: Die IDE.
Ich habe bisher keine wirklich brauchbare C++-IDE für Linux gefunden. Eclipse habe ich schon probiert, aber bei c++ schien es mir nicht so geeignet, wie bei java. Highlighten, Autovervollständigung und am besten noch (ich weis, bei einer compilierten sprache ist das nicht so einfach) Live-Darstellung von Fehlern und Warnungen gab es im c++-view nicht mehr. Das sind erstmal grob die Anforderungen, die ich an die IDE stellen würde. Vielleicht hat ja wer ein paar vorschläge.

Die anderen Probleme sind eher theoretischer Natur, und beziehen sich auf C++-Projekte, die über Hallo-Welt hinausgehen.

Da wäre z.B. dass große CPP-Projekte gerne mal ein paar Stunden kompilieren. Wie funktioniert da die Entwicklung überhaupt? Man kann ja nicht nach jeder code-änderung zum Ausprobieren ein paar Stunden warten.
Die Nächste Frage ist recht banal: Wie kompiliere ich ein großes Projekt mit mehreren Dateien? Also ich kenn das mit "./configure && make && make install", aber wie sieht es aus, wenn es keine configure oder make-files gibt, also wie kompiliere ich mir ein großes Projekt selbst?

Das ganze sind jetzt sicher ziemliche anfänger-Fragen.

Als Linuxer habe ich natürlich den Vorteil, dass ich über "apt-get source" zugang zu einer ganzen menge "lehrmaterial" habe. Allerdings brauche ich - um damit umgehen zu können - natürlich erstmal grundlagenwissen.
Zur Übung hatte ich vor, mir erstmal ein x-beliebiges Projekt zu nehmen, dieses leicht zu modifzieren (Was ganz banales. z.B. einfach mal eine "Hallo Welt"-Ausgabe, wenn es ausgeführt wird), und dann neu zu kompilieren.

Grüße,
Stummi
 
Nun will ich auch mit c++-anfangen, aber irgendwie will mir der Einstieg nicht so recht allein gelingen. Ich hoffe, ihr könnt mir bei einigen Fragen helfen.
Es gibt jede Menge gute API-Dokumentation. Die IDE die ich fuer C/C++ ntze, und Dir auch etwas spaeter empfehlen werde, offeriert bereits eine Menge Links zu sehr umfangreicher Hilfe.

Also die C++-Syntax und die Grundlagen des Kompilierens habe ich verstanden. Ich kann ein Hello-World-Programm schreiben und dies über das Terminal compilieren und ausführen.

Doch dann hört es bei mir auch schon wieder auf.
Die Frage ist auch was Du denn machen willst. Und welche Desktop-Umgebung nutzt Du? Denn auch das beeinflusst die Wahl der IDE unter Umstaenden.

Das erste Problem: Die IDE.
Ich habe bisher keine wirklich brauchbare C++-IDE für Linux gefunden. Eclipse habe ich schon probiert, aber bei c++ schien es mir nicht so geeignet, wie bei java. Highlighten, Autovervollständigung und am besten noch (ich weis, bei einer compilierten sprache ist das nicht so einfach) Live-Darstellung von Fehlern und Warnungen gab es im c++-view nicht mehr. Das sind erstmal grob die Anforderungen, die ich an die IDE stellen würde. Vielleicht hat ja wer ein paar vorschläge.
Wie gesagt, welche IDE Du nutzen willst haengt nicht nur davon ab was fuer Erwartungen hast, sondern auch von Deiner Desktop-Umgebung.

Ich persoenlich nutze, und empfehle Dir, KDevelop. Sache ist aber dass es auf KDE ausgerichtet ist, wenngleich es natuerlich durchaus die Moeglichkeit besteht GTK- oder QT-Anwendungen zu entwickeln, welche eben nicht die KDE-Libs voraussetzen.
Dennoch werden diese eben benoetigt, da ja auch KDevelop ein KDE-Programm ist.

Aber wie gesagt, KDevelop ist ein schickes Tool, hat eine Menge Hilfe integriert und hat auch einen Fenster-Designer an Bord.

Die anderen Probleme sind eher theoretischer Natur, und beziehen sich auf C++-Projekte, die über Hallo-Welt hinausgehen.

Da wäre z.B. dass große CPP-Projekte gerne mal ein paar Stunden kompilieren. Wie funktioniert da die Entwicklung überhaupt? Man kann ja nicht nach jeder code-änderung zum Ausprobieren ein paar Stunden warten.
Die Nächste Frage ist recht banal: Wie kompiliere ich ein großes Projekt mit mehreren Dateien? Also ich kenn das mit "./configure && make && make install", aber wie sieht es aus, wenn es keine configure oder make-files gibt, also wie kompiliere ich mir ein großes Projekt selbst?

Das ganze sind jetzt sicher ziemliche anfänger-Fragen.

Als Linuxer habe ich natürlich den Vorteil, dass ich über "apt-get source" zugang zu einer ganzen menge "lehrmaterial" habe. Allerdings brauche ich - um damit umgehen zu können - natürlich erstmal grundlagenwissen.
Zur Übung hatte ich vor, mir erstmal ein x-beliebiges Projekt zu nehmen, dieses leicht zu modifzieren (Was ganz banales. z.B. einfach mal eine "Hallo Welt"-Ausgabe, wenn es ausgeführt wird), und dann neu zu kompilieren.

Grüße,
Stummi
 
Die Desktopumgebung meiner Wahl ist Gnome. ;)

KDevelop werd ich mir aber mal ansehen. Könnte ja trotzdem recht brauchbar sein

Grüße,
Stummi
 
Hallo,

ich denke zum Thema IDE fährst du am besten wenn du dir eine Übersicht holst welche IDEs es so für C++ gibt und diese dann selbst ausprobierst und schaust welche sich für deine Bedürfnisse am besten eignet. Jeder hat so seine Vorlieben und einen generellen Tip zu geben fällt meist schwer.

Da wäre z.B. dass große CPP-Projekte gerne mal ein paar Stunden kompilieren. Wie funktioniert da die Entwicklung überhaupt? Man kann ja nicht nach jeder code-änderung zum Ausprobieren ein paar Stunden warten.
Normalerweise sollte das die IDE für dich übernehmen, also das Verwalten von großen Projekten. Auf unterster Stufe ist dafür das Makefile verantwortlich. Dazwischen siedeln sich irgendwo die autotools an. Das Makefile entscheidet welche Dateien neu kompiliert werden müssen. (abhängig vom Zeitstempel zwischen Target und Source und den Abhängikeiten)
Wie das genau funktioniert kannst du dort nachlesen: http://www.gnu.org/software/make/manual/
Die Nächste Frage ist recht banal: Wie kompiliere ich ein großes Projekt mit mehreren Dateien? Also ich kenn das mit "./configure && make && make install", aber wie sieht es aus, wenn es keine configure oder make-files gibt, also wie kompiliere ich mir ein großes Projekt selbst?
Wenn es kein Makefile gibt musst du dir eben eins selber schreiben. Siehe auch http://www.gnu.org/software/make/manual/

Das ganze sind jetzt sicher ziemliche anfänger-Fragen.

Als Linuxer habe ich natürlich den Vorteil, dass ich über "apt-get source" zugang zu einer ganzen menge "lehrmaterial" habe. Allerdings brauche ich - um damit umgehen zu können - natürlich erstmal grundlagenwissen.
Zur Übung hatte ich vor, mir erstmal ein x-beliebiges Projekt zu nehmen, dieses leicht zu modifzieren (Was ganz banales. z.B. einfach mal eine "Hallo Welt"-Ausgabe, wenn es ausgeführt wird), und dann neu zu kompilieren.

Grüße,
Stummi

Alternativ kann man sich auch mal mit den autotools (autoconf, automake, libtool) beschäftigen.

Gruß,
RedWing
 
Zuletzt bearbeitet:
Zurück