2009-07-09 6 views
1

Was ist der am häufigsten verwendete (einfachste) C/C++ - Compiler unter Windows, wenn Sie die NetBeans IDE (6.7) verwenden?Häufigster C/C++ - Compiler für NetBeans und Windows

Ich möchte (meist) einfache C-Programme schreiben. Ich habe Cygwin installiert, aber NetBeans mag es aus irgendeinem Grund nicht. Ich erhalte einen Fehler und bevor ich versuche, das herauszufinden, dachte ich, ich sollte einen bekannteren finden und (falls nötig) konfigurieren.

makeinfo: --fill-column arg must be numeric, not 

nbproject/Makefile-Debug.mk'. Try make --help‘für weitere Informationen.

Ich glaube, ich bekomme diesen Fehler, weil ich make nicht installiert habe.

Ich habe auch gefunden stackoverflow post (C/C++ Compiler for windows) aber und das schlägt vor, MinGW compiler tools zu verwenden.

Was ist der Unterschied zwischen MinGW und Cygwin? Was ist besser oder bevorzugt? und gibt es noch andere möglichkeiten?

+0

MinGW benutzt Windows 'libc, wo Cygwin seine eigene Kompatibilitätsschicht verwendet, die mit allem verteilt werden muss, das mit ihr verbunden ist (copyleft). – LiraNuna

+1

irgendwelche Auswirkungen auf die Leistung? – docesam

+0

@docesam, fragst du mich oder die Gemeinde? –

Antwort

3

Der Unterschied zwischen Cygwin und MinGW besteht darin, dass die Cygwin-Tools (und die erzeugten ausführbaren Dateien) auf der Cygwin-DLL basieren, die eine POSIX-ähnliche Ebene für die Anwendung bereitstellt.

MinGW sind native Win32-Tools (sie benötigen nicht das Vorhandensein der Cygwin-DLL), die native ausführbare Win32-Dateien erzeugen, die die Cygwin-DLL nicht benötigen.

Meine persönliche Vorliebe ist für MinGW, aber wenn Sie Programme erstellen werden, die eine Unix-Tradition haben, wird das Cygwin-Toolset Ihnen wahrscheinlich helfen, das Programm unter Windows mehr als das MinGW-Toolset zu erstellen.

Ich bin mir nicht sicher, was die Lizenzierung Auswirkungen der Verknüpfung mit der Cygwin DLL sind (Ich vergesse, wenn es GPL oder LGPL ist).

+1

Aber das sind meine eigenen zwei Möglichkeiten? Ich habe das gerade gefunden und es scheint meine Schlussfolgerung zu unterstützen ... http://www.netbeans.org/community/releases/67/cpp-setup-instructions.html#compilers –

+0

Auch die gleichen Links scheinen darauf hinzuweisen, dass die zwei können nicht nebeneinander existieren. Wissen wir, ob dies nur eine Warnung ist oder ob es einen praktischen Grund dafür gibt? –

+0

Ich kann nicht wirklich damit sprechen, aber ich rate trotzdem - ich vermute, dass Sie sowohl MinGW als auch Cygwin Tools installiert haben könnten, aber Sie müssen sehr vorsichtig sein, dass die Pfade für ausführbare Dateien, libs (und wahrscheinlich Header), die für die NetBeans-Projekte konfiguriert wurden, verwendete das eine oder das andere und vermischte sie nicht. Ich würde sicherlich vorschlagen, mit nur dem einen oder dem anderen zu beginnen, um die Möglichkeit für Probleme zu reduzieren (und die Diagnose von auftretenden Problemen zu vereinfachen). –

1

Hier ist ein guter Beitrag, den ich gerade für die Zusammenarbeit von Cygwin und Netbeans gefunden habe.

Configuring cygwin with netbeans in Windows

Und nur damit Sie wissen, Cygwin und MinGW sind bei weitem die beiden beliebtesten Open-Source-Lösungen für C/C++ unter Windows. Andere populäre Compiler existieren, aber sind nicht frei (Borland C++, Microsoft Visual C++, usw.)

+0

Vielen Dank für den Link, aber ich hatte es früher funktioniert. Ich habe einfach make vermisst.Ich habe es nicht installiert, weil ich gedacht hatte, dass ich keine Make-Dateien verwenden würde. Lange Rede, kurzer Sinn: Ich habe Cygwin ursprünglich für einen anderen Zweck installiert. –

+1

Aus Gründen der Argumentation gibt es sowohl eine kostenlose Version von MSVC (PP) als auch Borland CPP. – Christian

+0

Cygwin hat nichts mit C oder C++ zu tun. Sowohl Cygwin als auch MinGW verlassen sich auf GCC als Compiler. Und GCC ist mit Abstand die populärste Open-Source-Lösung als Open-Source-Compiler. Wie bereits erwähnt, ist MSVC kostenlos verfügbar (in der Windows SDK- und VS Express-Edition). – rubenvb