[C/C++] Compiler/Linker, aber welchen?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Coksnuss, 14. September 2008 .

  1. 14. September 2008
    Compiler/Linker, aber welchen?

    Welchen C++ Compiler würdet ihr empfehlen können?

    Ich habe gestern einige Zeit damit verbracht einen passenden zu finden.

    Microsoft Visual C++ 2008 Express: Damit habe ich Probleme einfach nur eine C++ Datei zu compilen die auch auf Rechnern ohne .NET läuft!
    Nachdem ich eine Option angeklickt hatte das irgentwelche Bibliotheken statisch gelinkt werden sollen hat es zwar geklappt, aber ich will einenen Compiler/IDE der/die keine .NET Bibliothek benutzt!

    Intel C++ Compiler: Den habe ich nichtmal zum laufen bekommen, kann zwar eine Konsole starten die den Pfad zu dem Intel Kompiler in die Variable PATH schreibt, aber in dem Verzeichnis sind zich binaries und ich habe keine Ahnung welche .exe für was gut ist...

    Borland C++ Compiler: Da hab ich nur eine alte Version (3.5) oder so gefunden, und die aktuellen kosten einiges an Kohle...

    Ich bin ein Neuling was C++ angeht, das heißt ich will wirklich erstmal nur einen Compiler haben! Keine IDE, damit ich alles von Grund auf lerne quasi!

    Am liebsten wäre mir sowas wie bei linux der GCC G++ - Compiler. Also einfach ein Compiler/Linker in einer *.exe Datei der mir meine Datein compilt mit einem simplen Konsolenbefehl
    (z.B. compiler.exe MeineCpp.cpp)

    So: Dann habe ich in dem Tutorial was ich so durchgegangen bin gelesen das alte Compiler eine andere Schreibweise bzw. Syntax verlangen.
    Code:
    #include <iostream.h> <-- Alt
    #include <iostream> <-- Neu
    Deshalb hätte ich gerne einen compiler der relativ aktuell ist!

    Nochmal zusammgefasst:
    1. Ich will KEIN .NET in meinen Anwendungen verwenden! (Dementsprechend möchte ich das selbige auf Systemen ohne .NET laufen!)
    2. Keine IDE Umgebung wenn es geht
    3. Am besten einen Stand-Alone Compiler!
    4. Aktuell! (Siehe oben)

    Ich habe vor einigen Jahren mal DEV-C++ benutzt, aber das wird ja glaube ich nicht mehr weiterentwickelt, oder?
    Außerdem ist das ja quasi eine portierung von GCC (linux) mit WinGW auf Windows. Das ist auch nicht so das wahre!

    Also: Danke schonmal für die Hilfe =)
     
  2. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    Wenn du eine Konsolenanwendung auswählst, dann kann man native Win32-Anwendungen erstellen. Du darfst halt keine WinForms-Anwendung wählen. Und die Bibliotheken, die man statisch linken kann haben nix mitm .NET-Framework zu tun, sondern das sin die Bibliotheken von der C-Runtime. Aber wie gesagt, kein .NET. Und wenn du die CRT statisch linkst, muss man ja nix zusätzlich installieren.

    Wenn du so auf den g++ stehst ( ), dann schau dir mal MinGW (Minimalist GNU for Windows) an. Das is der Win32-Port von der GCC.

    Edit ^^
    Nein, DevCpp wird nicht mehr weiterentwickelt und sollte am besten auch nicht mehr verwendet werden.

    DevCpp is nur die IDE, aber die benutzt wie schon gesagt MinGW. Aber wieso ist das nich das Wahre? MinGW (nicht WinGW ) is das gleiche wie die GCC nur für windows halt. du kannst den g++ ja auch direkt in der cmd benutzen, du brauchst ja kein DevCpp dafür.
     
  3. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    hmm also du schließt so ziemlich alles aus was es vernünftiges am markt gibt ich persönlich würde dir in deinem fall trotzdem zu devC++ raten, ich verwends jahrelang und bin vollauf zufrieden damit. Obs weiterentwickelt wird kann ich dir ehrlich gesagt nicht sagen, die Version die ich verwende (Dev-C++ - Download) läuft jedoch vollends stabil ...

    suchst du n tool für ein größeres projekt würd ich aber trotzdem zu borlands c++ oder .net tendieren, diese sind auf projekte dieser größe ausgelegt ...
     
  4. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    DevC++ wird nicht mehr weiterentwickelt, die letzte Version is schon paar Jahre alt und außerdem ne Beta-Version.

    .NET und C++ sind zwei völlig verschiedene Schuhe Bitte nicht beides gleichsetzen ^^
    Man kann mit dem Visual C++ Compiler sowohl native (d.h. ohne .NET Framework) Anwendungen als auch "managed C++" (mit .NET Framework) schreiben.
     
  5. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    Hmm, also erstmal danke euch beiden, besonders dir pyro..

    Dann werde ich doch MinGW (ich dachte echt das heißt WinGW ) mal testen!

    Aber das mit den nativen Anwendungen mit Visual C++ 2008 Express musst du mir nochmal erklären, ich habe gestern die ganze Zeit versucht sowas zu erstellen und es hat nur mit dieser "Bibliotheken statisch linken"-Funktion geklappt!

    Code:
    #include <iostream>
    
    int main()
    {
     std::cout << "Hallo Welt!" << std::endl;
    }
    Das ist der code aus dem Tutorial (müsste es nicht eigentlich void main() heißen?!)
    Trozdem funktioniert die Anwendung (weder Debug, noch Release) nicht auf Systemen ohne .NET...
     
  6. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    Hey!

    BRRR... main () immer int... Schliesslich muss dein Programm eine Zahl zurueckgeben, um dem User zu zeigen, ob es erfolgreich (oder eben nicht erfolgreich) ausgefuehrt worden ist!

    Benutz Code::Blocks. Meiner Meinung nach sollte man immer portablen Code schreiben, mit Code::Blocks hast du eine portable IDE mit einem portablem Compiler, folglich auch total portablen Code. Wenn du eh keine IDE etc willst, bist du mit MS Visual Studio C++ total falsch dran, da ist Code::Blocks noch minimalistischer.
    Wenn du jedoch schnell Interfaces etc machen willst, dann MS Visual Studio C++.

    Umsteigen ist jetzt auch nicht sooo schwer. Also mach dir keinen Kopf. Mit G++ biste halt in der Windows- UND Linux-Welt daheim, folglich kannste Software fuer die meisten Benutzer schreiben und lesen.

    Mfg,

    Kolazomai
     
  7. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    Datei -> Neu -> Projekt -> Win32 -> Konsolenanwendung
    dann is das ein natives projekt
    wenn du auf weiter klickst kannst du noch genauer auswählen was du machen willst.. ne windows-anwendung mit Fenster, ne konsolenanwendung oder ne .lib oder .dll. kann man aber auch alles in den projekteigenschaften umstellen



    GUIs sind mit c++ nie so ganz einfach, da ändert auch Visual C++ nix dran ^^
    Mit .NET sin die GUIs leicht (also schön zusammenklickbar ^^), aber in normalen c++ auch nich
     
  8. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    @Kolazomai: Cool, herzlichen Dank, das sieht auch cool aus....
    Was das mit der IDE angeht: Ich will bloß keinen Auto-Code bekommen oder irgentwelche Dateien von vornherein im Projekt eingebunden haben oder so, einfaches Syntax-Highlighting reicht mir!

    Was mir vor allem gefällt ist die portabilität =)..

    ----

    Aber wo ihr zwei es grade von GUI's habt:
    Wie muss ich mir das mit diesem Code::Blocks vorstellen? Wie erstelle ich ein "portables" GUI?

    Oder muss ich mir das wie folgt vorstellen (pseudo-code)
    Code:
    #include <windowsforms>
    
    int main()
    {
     $guiWindow = new GUI("Titel", [Width, [Height]]);
     CreateNewLabel($guiWindow, "Text", [Width, [Height]]);
     ....
    }
    (Erinnert mich ein bisschen an AutoIt )

    Oben stehender Code wäre dann folglich nur mit Windows zu benutzen...
    Ist das so richtig?

    Weil was ich auf keinen Fall will sind so GUI's wie bei Java, die zwar auf allen Plattformen laufen aber nicht die Windows Forms benutzen!

    // Edit:
    Mein Programm tut aber nix zurückgeben, sollte es? (Der compiler meckert jedenfalls nicht)
     
  9. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    Es gibt plattformunabhängige Toolkits wie Qt, wxWidgets, GTK(mm) und viele mehr ^^
    Die laufen auf allen Plattformen. Man muss auch nich großartig mit #ifdef's etc. arbeiten, sondern man kann einen Source schreiben und den auf allen Plattformen compilen.

    Mein Favorit von den 3en ist übrigens wxWidgets. Ist leicht zu verwenden und ziemlich mächtig. Qt mag ich nich wegen der miesen Lizenz und GTK ist ne Qual unter Windows
     
  10. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    Hey!

    Ich persoenlich halte von wxWidgets nicht viel, da es meiner Meinung nach viel zu 'oldfashioned' (vom Codingstyle her) ist. GTK+ unter Windows ist das einzige Problem, dass man GTK+ installieren muss. Sonst seh ich da keinen grossen Nachteil

    QT ist sehr maechtig und hat viele Funktionen, fuer OpenSource-Programme (mit der Lizenz) wunderbar, aber wenn man mal was mit Geld machen will, offensichtlich nicht so der Hit.

    Fuer GUI-KlickiBunti fuer Windows Visual Studio C++ oder Borland... Ist halt nicht so gut fuer die Linux-User und kaufen musst du das Ding dann auch, wenn du mal was veroeffentlichen willst (ausser du willst mit einer Strafanzeige rechnen).

    Mfg,

    Kolazomai
     
  11. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    Joa, mit den Makros is schon bissl alt ^^ Aber die muss man ja nich umbedingt verwenden Die Event-Tables gehen z.B. auch dynamisch.

    Ja, die Runtime is halt sehr groß. Und das Aussehen is auch nich grad das Beste. wx verwendet halt native Widgets und GTK+ zeichnet selber.

    Joa, sag ich ja miese Lizenz. Außerdem is das C++ auch nich soooo modern.

    Bei Visual C++ gibts keine Clicki-BUunti-GUI (außer mit der MFC geht das vllt.). Und die Express Edition ist komplett kostenlos, auch für den kommerziellen Gebrauch
    Vom Borland-Teil halte ich selber nich viel.
     
  12. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    Hoi!

    GTK+ kann man Styles im Programm selber laden, d.h. das Aussehen kann beliebig und bequem gestaltet werden

    Und ja, kann sein mit MS Visual C++ / MFC / Borland / etc., ich programmier, wie du weisst, ja nur unter Linux, daher kennst du dich da viel besser als ich aus

    Mfg,

    Kolazomai
     
  13. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    Jo ich weiß
    Und für Linux is halt GTK+ mal DAS toolkit ^^
    wobei wxGTK auf GTK+ aufbaut falls es dich interessiert

    und mit dem style meinte ich eher, dass die anwendungen halt einfach ned das look and feel von windows haben. qt zeichnet die widgets zwar auch selber, aber ziemlich gut
     
  14. 14. September 2008
    AW: Compiler/Linker, aber welchen?

    Hey!

    wxGTK ist ja nix anderes als das 'Plugin' fuer wxWidgets, das GTK+ als 'Zeichner' fuer die Widgets hernimmt. Das kann man ja auch z.B. einstellen (in Gentoo 'eselect wxwidgets set ...' oder so ), was wxWidgets benutzen soll. Und deshalb ist es ja auch so crossplatform und hat das Look&Feel der OS-Umgebung. Wer also sowas haben will, der ist mit wx genau richtig dran, das muss man zugeben

    Naja, back to topic?

    Mfg,

    Kolazomai
     
  15. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.