Seite 1 von 1

IDE & Compiler für Linux

Verfasst: 18.03.2009, 12:08
von Sergius
Hallo Leute,

bis jetzt habe ich unter Windows mit Visual C++ 2008 gearbeitet, das will ich auch weiterhin machen.

Meine Frage richtet sich aber eher an die Leute, die ihre Projekte auf mehrere Betriebsysteme partieren (Windows & Linux),
das heisst ich will (später mal) ein Projekt auf beiden Betriebsysteme kompilieren können.

Es ist mir schon klar, dass man auch den Code portabel halten muss z.B. Fenstererstellung, RendererAPI usw.

Aber mich interessiert eher, was ihr für solche zwecke als IDE und Compiler verwendet, wenn ihr für Multiple BS entwickelt.

Habe da schon von einigen Leuten gehört, dass die Visual C++ wie gehabt auf Windows Platform einsetzen und für Linux dann zusätzlich einen GCC Compiler nehmen und Kompilierung mittels SCons, Autotools, makefiles oder ähnliches organisieren.
Ist das die übliche Methode auch bei euch ? oder nutzt ihr für Kompilierung unter Linux zusätlich eine IDE (es muss ja auch debuggt werden) ?

Re: IDE & Compiler für Linux

Verfasst: 18.03.2009, 12:17
von Schrompf
Ich habe dafür Eclipse mit dem CDT-Plugin benutzt. Ich kann die Erfahrung allerdings nicht empfehlen... selten so ein verkrampftes verworrenes und durch und durch unfähiges Software-Gespann gehabt. Der GCC als Compiler war eine feine Sache - man lernt noch die eine oder andere Ecke an C++ kennen, die einem der VisualC++-Compiler durchgehen lässt. Aber die Projektverwaltung... der allgemeine Workflow... und vor allem die unfähige Auto-Completion machen einem das Leben zur Hölle. In 80% aller Fälle hat ein Tippen von '.' oder '->' mal eben eine zehnsekündige Blockade der ganzen IDE ausgelöst... nur um dann ein leeres AutoComplete-Fenster aufzuklappen - "keine Vorschläge verfügbar".

Ich kann nur von diesem Gespann abraten. KDevelop klappte dagegen besser, aber damit habe ich nur kurz Kontakt gehabt.

Re: IDE & Compiler für Linux

Verfasst: 18.03.2009, 12:23
von knivil
Meine "IDE" heisst Vim, sowohl unter Windows, als auch unter Linux. Du kannst dir ja mal einige youtube-Videos ansehen ...
http://www.youtube.com/watch?v=pCiVCiku3cM

Es gibt dort auch zahlreiche Videotutorials etc....

Re: IDE & Compiler für Linux

Verfasst: 18.03.2009, 12:33
von Sergius
knivil hat geschrieben:Meine "IDE" heisst Vim, sowohl unter Windows, als auch unter Linux. Du kannst dir ja mal einige youtube-Videos ansehen ...
http://www.youtube.com/watch?v=pCiVCiku3cM

Es gibt dort auch zahlreiche Videotutorials etc....
@knivil,
ich habe nichts dagegen und respektiere es auch, wenn manche Leute ähnliche Sachen wie Notepad für 100.000 Zeilen Code Projekte nutzen oder MSPaint für 3D Modele Erstellung und ich will hier auf keinen Fall eine FlameWar anfangen.

Mich interessiert aber eher eine komfortablere Lösung.

Bei Windows wie ich geschrieben habe, bleibe ich bei Visual Studio.
Und für Kompilierung und Projektorganisation des gleichen Projekts unter Linux suche ich noch eine Möglichkeit.

Re: IDE & Compiler für Linux

Verfasst: 18.03.2009, 12:41
von knivil
Vim und Notepad sind Lichtjahre voneinander entfernt. Bei Visual Studio ist mir das Codefenster zu klein und ich muss zu viel Klicken. Im Endeffekt geht es darum Code zu schreiben, in Textform. Dazu ist ein maechtiger Editor von Noeten, bei dem ich gewisse Dinge leicht automatisieren kann, aber den bietet Visual Studio leider nicht (oder Eclipse oder KDevelop oder ...). Vim ist kompfortabel aber genau wie das Schreiben mit 10 Fingern (ohne draufzuschauen) dauert es eine Weile, ihn zu beherschen. Ansonsten zur Organisation von Projekten ... ich nutze makefiles.

Btw. Sorry, ich muss Vim einfach immer bei der IDE-Frage ansprechen. Verantwortlich ist der kleine Vimkrieger in mir. Also nichts fuer ungut ... :mrgreen:

Re: IDE & Compiler für Linux

Verfasst: 18.03.2009, 12:55
von eXile
Für Studienarbeiten in C unter Linux verwende ich normalerweise Eclipse. Das hat zwar manchmal seine macken, hat aber bei mir bisher immer ganz ordentlich funktioniert. Für schnelle Last-Minute-Änderungen via SSH benutze ich vi.
Bezüglich Projektorganisation kenn ich mich mit vi(m) nicht so gut aus. Entscheidender Bonus bei Eclipse ist, dass es ein CVS- und SVN-Plugin hat. Ob makefiles wirklich mit der Organisation eines Projektes an sich etwas zu tun haben, bezweifle ich. Im Grunde ist das ja auch nichts anderes als eine automatisierte "Anleitung" für den Rechner. Makefiles selber schreiben halte ich persönlich für antiquiert (obwohl ichs noch kann :P), denn um die Sache, wie nun mein Code zusammengekloppt wird, soll sich doch bitte die IDE kümmern (dafür auch das I in IDE).

Re: IDE & Compiler für Linux

Verfasst: 18.03.2009, 17:06
von fkrauthan
Also ich bin sehr zufrieden mit dem gespannt Eclipse + CDT. Ansonsten kann man sich garantiert dafür auch mal CodeBlocks anschauen. Der scheint auch ganz gut zu sein hab aber damit noch nicht so wirklich gearbeitet.

Re: IDE & Compiler für Linux

Verfasst: 18.03.2009, 20:39
von Lynxeye
Ich habe vor einer Weile auch mal mit Eclipse gearbeitet. Meine Erfahrungen decken sich mit denen von Schrompf. Zur Zeit bin ich bei Code::Blocks gelandet, welches sehr komfortabel ist und vor allem auch schnell. Funktioniert wirklich sehr gut.

Hab dazu vor einiger Zeit auch mal nen kleinen Blogeintrag verfasst: Link

Re: IDE & Compiler für Linux

Verfasst: 19.03.2009, 01:54
von Chromanoid
Also beruflich programmiere ich vor allem in Java und da ist Eclipse eigentlich eine ziemlich gute Wahl. Gerade die Integration von Subversion finde ich bei Eclipse mit Subclipse einen ziemlichen Genuss. Natürlich braucht man für Eclipse auch einen entsprechenden Rechner damit es eben nicht zu Wartezeiten kommt. Auch das Debuggen macht mit Eclipse für Java Entwicklung Spaß. Also ich kann eure Kritik bei Eclipse nicht verstehen, allerdings entwickle ich auch in Java, was wahrscheinlich damit zu tun hat.
Ansonsten kann ich auch noch (bei entsprechendem Rechner) Netbeans empfehlen. Da hat es mir vor allem der GUI Editor für Java Swing /AWT angetan. Der ist wirklich Spitze. Netbeans unterstützt ja auch C++ vielleicht ist diese IDE mal einen Blick für dich wert. Netbeans wirkt in meinen Augen etwas aufgeräumter. Außerdem ist da die Integration von Ant (für Java) wirklich sehr vorbildlich gelungen, was vieles erleichtern kann. http://www.netbeans.org/features/cpp/

@Vimkrieger :) wie ist denn da so die Integration von Subversion, Build-Tools, Debugging, Bugtrackern, Code-Übersicht und Co. Bei den Videos erinnert mich das ganze irgendwie an den Turbo Pascal Editor ;). Wie willst du denn damit ein das mehr als 500 Code-Dateien enthält vernünftig verwalten? Als hacky Ruby Editor oder als TextPad PSPad und Co. Ersatz mag das Ding ja taugen, aber als "Integrierte Entwicklungsumgebung"?

Liebe Grüße
Christian

Re: IDE & Compiler für Linux

Verfasst: 19.03.2009, 09:23
von Biolunar
Ich verwende auch nur Vim + make.
Viele Dateien verwaltet man, indem man eine Struktur bei den Verzeichnissen erstellt und nicht alles in ein Verzeichniss kloppt :) Sourcecode Repositorien sind sowieso am besten über die Konsole zu verwalten, GUIs sind meist nicht so mächtig. Das einzige was mir fehlt ist angenehmes debugging. GDB in der Konsole ist relativ schwierig ;)

Mir wurde letztens vorgeschlagen Geany mal zu probieren. Der sieht auch ganz nett aus, aber wirklich probiert hab ich ihn noch nie :D Manchmal verwende ich Pida, da Pida keinen eigenen Editor mitbringt sondern vorhandene Editoren nutzt (emacs, vim).

Re: IDE & Compiler für Linux

Verfasst: 19.03.2009, 12:34
von eXile
Da bin ich deiner Meinung, Christian Kulenkampff, wenn man mit Java entwickeln will, kommt man gar nicht an Eclipse vorbei. Ich war selbst überrascht, als ich von einiger Zeit der Java-Programmierung unter Eclipse mal wieder in Visual Studio was mit C++ machen wollte. War irgendwie ... "zurückgeblieben"?

Achtung Überraschung: Alle IDE sind nicht perfekt. Nur einige unperfekter als andere ;)

Kann es sein, dass Eclipse for C/C++ und Eclipse mit CDT-Plugin etwas unterschiedliches ist? Ich hab von der Eclipse-Homepage immer nur ersteres heruntergeladen, jetzt sehe ich, dass es ne Unterseite für das CDT-Plugin gibt. Verwirrung! :roll:

Re: IDE & Compiler für Linux

Verfasst: 19.03.2009, 12:45
von knivil
Wie willst du denn damit ein das mehr als 500 Code-Dateien enthält vernünftig verwalten?
Die Linuxphilosophie ist etwas anders. Fuer jede Aufgabe das richtige Tool, nicht ein bloated Tool, dass alles irgendwie kann. Aber ueber plugins ist das auch bei Vim moeglich. Nutze ich persoenlich nicht (hat mir bei Eclipse schon gereicht), da ich diese Zeile auch schnell mal in die Konsole schreiben kann (oder schaut kurz in die History). Z.B. vim cream ist mir auch schon zu viel unnoetiger Ballast.

Re: IDE & Compiler für Linux

Verfasst: 19.03.2009, 13:32
von eXile
knivil hat geschrieben:
Wie willst du denn damit ein das mehr als 500 Code-Dateien enthält vernünftig verwalten?
Die Linuxphilosophie ist etwas anders. Fuer jede Aufgabe das richtige Tool, nicht ein bloated Tool, dass alles irgendwie kann. Aber ueber plugins ist das auch bei Vim moeglich. Nutze ich persoenlich nicht (hat mir bei Eclipse schon gereicht), da ich diese Zeile auch schnell mal in die Konsole schreiben kann (oder schaut kurz in die History). Z.B. vim cream ist mir auch schon zu viel unnoetiger Ballast.
Also steht die "Linuxphilosophie" konträr zu IDEs, welche als solche natürlich "integriert" sind, also alles in einer Anwendung vereinen? Im Grunde kann einem doch jede Philosophie schnurzpiepegal sein, Hauptsache ist, man kommt mit den Anwendungen zurecht. (Spöttische Menschen behaupten auch, "non-descriptive acronyms" würden zum "way of linux" gehören.)

Im Grunde läuft es eben darauf hinaus: Man nimmt das, was am besten zu einem passt. Und nicht wegen irgendeiner Ideologie oder Philosophie, die dahinter steht.

Re: IDE & Compiler für Linux

Verfasst: 19.03.2009, 14:17
von Sergius
Hallo Leute,

bevor meine "ursprungliche" Frage hier ausartet :-) will ich die vielleicht noch ein wenig spezifizieren, wie ich das meinte.

Wir programmieren unter Windows und das ohne Probleme mit Visual C++ 2008, soweit so gut...
Die Dateien werden mittels Projektexplorer im Visual C++ verwaltet, integrierter Kompieler tut auch seine Arbeit
und der integrierter Debbuger ist auch super für unsere Zwecke.
Die Projektgrösse würde sich auf ein paar hundert Sourcecode Dateien bewegen mit je ca.1000 Zeilen Code.
Also mit anderen Worten geht die Entwicklung unter Windows perfekt für uns.

Wir wollen unseres Projekt aber evtl später portieren auf Linux,
das heisst wir suchen eine Möglichkeit um das gleiche Projekt dann unter Debian, Ubuntu oder ähnliches ohne große Umstellungen kompilieren zu können.
Als Kompiler können wir glaube ich GCC nehmen, ist wohl eine gute Lösung.

Die offene Fragen dabei sind:
- um das Projekt zu kompilieren muss man ja dem Kompiler erstmal einige Einstellungen mitgeben, z.B. welche Dateien mitkompiliert werden sollen, in welchen Verzeichnissen die liegen, ob es eine execute oder lib sein soll usw.
- falls das Projekt aus irgendwelchen Grunden unter Linux sich nicht kompilieren lässt (auch wenn es unter Windows einwandfrei lief), muss man unter umständen dann auch unter Linux es ein wenig debuggen können.

Wir suchen jetzt also eine Lösung dazu.

Zuerst ist es hier zu klären, ob wir dafür eine IDE für Linux brauchen.
Was für eine IDE spricht, ist dass man damit komfortabler diesen geringen Debugging machen kann (falls es was nicht klappt bei der Kompilierung).
Was gegen der IDE spricht, wir müssten dann dem Projekt unter Linux alle Sourcedateien, wenn welche dazu kommen, immer per Hand dazufügen, was ein wenig ärgerlich ist.

Und die andere Sache ist die Kompilierung an sich, falls wir keine IDE verwenden.
Wie verwalten wir dann die Projektdaten, dass der Kompiler weiss wie und was er kompilieren soll.
Habe gehört, dass SCons automatisch alle Dateien absucht und dem Kompilier dann sagt was er machen soll (oder bin ich da falsch informiert?) und bei makefiles müsste man sich da z.B. auch immer per Hand jede neue datei erstmal hinzufügen.

Ich hoffe ihr versteht die Probleme/Fragen :-)

Re: IDE & Compiler für Linux

Verfasst: 19.03.2009, 14:26
von kimmi
Ich benutze CMake. Cmake unterstuetzt das Generieren von verschiedenen IDE-Projektfiles unter WIndows, Linux, MacOS und hast du nicht gesehen. Man definiert die Compilereinstellungen etc. in einem CMake-File und damit lassen sich dann je nach Wunsch Projectfiles fuer VC7.1, VC8.0, Ecplipse oder KDevelop erstellen. Die Leute von OpenSceneGraph benutzen das auch und da scheint es ebenfalls zu tun.
Und auch ich benutze Linux, davon 6 Jahre beruflich als Entwickler. Und dort habe ich mit Emacs, vim und den verschiedensten IDEs gearbeitet. Und mein Resumee: man soll nehmen, womit man klarkommt. Diesen ganzen "unter Linux benutze ich keine integrierten Tools"-Kram kann man gern machen, wenn man will. Ich habe aber auch schon den Emacs als IDE benutzt und habe mir das Leben viel viel leichter gemacht. Gleiches gilt fuer Eclipse, KDevelop etc. . Who cares? Wichtig sind doch nur die Ergebnisse.

Gruss Kimmi

Re: IDE & Compiler für Linux

Verfasst: 19.03.2009, 14:43
von Chromanoid
Naja ich kann nur immer wieder sagen: Netbeans ist wirklich einen Blick wert ;)
Da hat sich seit Netbeans 5 echt viel getan...

Aber die Lösung mit Visual Studio Plattform unabhängig zu entwickeln, ist denke ich auch eine gute Idee... Ich denke zumindest viele Firmen wählen diesen Weg. Ein konkretes Beispiel wäre Linden Labs mit Second Life, wobei deren Sourcecode vielleicht nicht zu den vorbildlichsten gehört :D

Eine Anmerkung

Verfasst: 19.03.2009, 15:16
von Biolunar
Sergius hat geschrieben:- falls das Projekt aus irgendwelchen Grunden unter Linux sich nicht kompilieren lässt (auch wenn es unter Windows einwandfrei lief), muss man unter umständen dann auch unter Linux es ein wenig debuggen können.
Wenn Code nicht kompiliert, kann man ihn auch nicht debuggen ;)

Re: Eine Anmerkung

Verfasst: 19.03.2009, 15:44
von Sergius
dLoB hat geschrieben:
Sergius hat geschrieben:- falls das Projekt aus irgendwelchen Grunden unter Linux sich nicht kompilieren lässt (auch wenn es unter Windows einwandfrei lief), muss man unter umständen dann auch unter Linux es ein wenig debuggen können.
Wenn Code nicht kompiliert, kann man ihn auch nicht debuggen ;)
meinte ausführen, nicht beim Wort nehmen :-)

Re: IDE & Compiler für Linux

Verfasst: 22.03.2009, 07:54
von glassbear
Geht nix über SlickEdit, von den Leuten die auch VisualAssist machen. Alternativ Netbeans oder Geany.

Re: IDE & Compiler für Linux

Verfasst: 23.03.2009, 14:29
von odenter
Makefiles reichen, komme auch aus Windows und hab mal angefangen Kernelmodule für/unter FreeBSD zu schreiben. Da haben auch nur alle gesagt Makefiles. Wusste auch erst nicht was die von mir wollen, jetzt weiss ich es. :)