2009-05-23 8 views
8

Ha pasado un tiempo desde que desarrollé C++ profesionalmente y me gustaría ponerme al tanto sobre el estado actual del desarrollo de C++ en varias áreas. La mayor parte de mi trabajo reciente ha sido Java, haciendo un uso intensivo de Maven. Cuando desarrollé C++ por última vez, una variante de make fue ampliamente aceptada como el camino a seguir para construir proyectos C++ (también usamos make para construir el código Java en nuestros proyectos mixtos Java y C++, aunque creo que ant comenzando a convertirse en la corriente principal).¿Es maven-native-plugin ampliamente utilizado para construir proyectos C++ utilizando maven?

Me gusta usar Maven para compilaciones. Mi pregunta no es debatir los méritos relativos del uso de Maven, sino determinar cuál es el nivel de adopción para el Native Maven Plugin para construir proyectos en C++ y cuál ha sido la experiencia de las personas con esto. Alternativamente, ¿hay una nueva cadena de herramientas común para compilaciones de C++ que tenga mucho impulso?

Respuesta

9

En mi experiencia, la comunidad C++ todavía no se ha estandarizado en una herramienta de compilación común. Mientras que las autotools de GNU (y GNU make) siguen siendo populares para los proyectos de código abierto, otras opciones incluyen SCons, CMake, makepp y bjam/jam.

Personalmente, solo usaría Maven para un proyecto que está escrito principalmente en Java con una pequeña parte JNI.

3

Nuestra experiencia con el plugin maven native es que se integra muy bien con la cadena de herramientas de Java. Si construyes sistemas mixtos Java/C++, entonces es el complemento para ti. Debido a este complemento, nuestros desarrolladores de C++ y Java tienen el mismo entorno (maven, eclipse, hudson) y una administración de dependencia centralizada (nexus). En el lado negativo, varias de nuestras correcciones (relacionadas con el rendimiento debido al alto volumen de nuestra base de código, varias millones de líneas de código) no se han integrado a la versión principal, lo que nos obliga a trabajar con una versión de parche.

Cuestiones relacionadas