2009-05-23 15 views
8

Es ist schon eine Weile her, dass ich C++ Entwicklung professionell gemacht habe und ich würde mich gerne darüber informieren, was der aktuelle Stand der C++ Entwicklung in einer Reihe von Bereichen ist. Die meisten meiner letzten Arbeiten waren Java, wobei ich Maven stark benutzte. Als ich zuletzt C++ Entwicklung für die Arbeit gemacht habe, wurde eine Variante von make weithin als Weg für C++ - Projekte akzeptiert (wir verwendeten auch make, um den Java-Code in unseren gemischten Java- und C++ - Projekten zu erstellen, obwohl ich glaube, ant war beginnt Mainstream zu werden).Wird das maven-native-plugin zum Erstellen von C++ - Projekten mit maven verwendet?

Ich mag Maven für Builds verwenden. Meine Frage ist nicht zu diskutieren, die relativen Vorteile der Verwendung von Maven, sondern zu bestimmen, was die Ebene der Annahme für die Native Maven Plugin für den Aufbau von C++ - Projekten ist und was die Menschen damit erlebt haben. Gibt es alternativ eine neue gemeinsame Toolchain für C++ - Builds, die viel Schwung hat?

Antwort

9

Nach meiner Erfahrung hat die C++ - Community noch nicht standardisiert auf ein gemeinsames Build-Tool. Während die GNU Autotools (und GNU make) immer noch für Open Source-Projekte beliebt sind, gibt es andere Optionen wie SCons, CMake, und bjam/Jam.

Persönlich würde ich Maven nur für ein Projekt verwenden, das hauptsächlich in Java mit einem kleinen JNI-Teil geschrieben ist.

3

Unsere Erfahrung mit dem maven-nativen Plugin ist, dass es sehr gut in die Java-Tool-Kette integriert ist. Wenn Sie gemischte Java/C++ Systeme erstellen, dann ist es das Plugin für Sie. Aufgrund dieses Plugins haben unsere C++ - und Java-Entwickler die gleiche Umgebung (Maven, Eclipse, Hudson) und ein zentrales Abhängigkeitsmanagement (Nexus). Auf der negativen Seite sind einige unserer Fixes (Performance bezogen auf das hohe Volumen unserer Codebasis, mehrere Millionen Zeilen Code) nicht in die Hauptversion integriert worden, die uns dazu zwingen, mit einer Patch-Version zu arbeiten.

Verwandte Themen