programacion mundo hola funciones ejemplos dev comandos codigos basicos c++ build-process makefile

funciones - hola mundo c++



¿Alguna buena herramienta de construcción para un proyecto de C++, que puede reemplazar a make? (9)

Cook es otra herramienta que se puede usar para reemplazar make. He visto a varias grandes compañías usándolo. Por lo tanto, está listo para la empresa a pesar de que el sitio web parece bastante anticuado.

http://miller.emu.id.au/pmiller/software/cook/

Me pregunto si hay alguna herramienta buena y ordenada para reemplazar las herramientas automáticas GNU o Make para construir un gran proyecto de C ++, que es algo tan complicado de usar.

Es simple generar todos los archivos que de Autotools requieren si el proyecto es pequeño, pero si el código fuente se divide en muchos directorios, con múltiples bibliotecas de terceros y muchas dependencias, se cae en el "Infierno de Autotools".

gracias por cualquier recomendación



Usamos Jam para un proyecto complejo de C ++. Una de las ventajas es que se trata de una plataforma cruzada. En lugar de que explique los beneficios, eche un vistazo rápido a este enlace: http://www.perforce.com/jam/jam.html


CMake ? (genera makefiles, por lo que técnicamente no es un reemplazo como tal).

También he visto aparecer " SCons " en algunos lugares recientemente. Aunque no he creado nada con él.


Eche un vistazo a waf .

Creo que puedes considerarlo como un reemplazo completo para make y autotools. Está basado en python. Una cosa que me gusta de waf es que el script waf en sí mismo es ~ 100kb independiente que colocas en el directorio raíz de tu proyecto. Esto está en contraste con make or rake y friends, donde el sistema de compilación debe instalarse primero. Sin embargo, debes tener python> = 2.3 instalado.

~$ ./waf configure && ./waf && ./waf install

El equivalente de Waf a Makefiles es el archivo wscript. Es un script de python que lee waf, y define al menos 3 funciones: set_options() , configure(conf) y build(bld) . Puedes adivinar lo que hace cada uno de ellos.

Para arrancar, recomiendo buscar en los archivos demos / cpp / * en la distribución fuente. También eche un vistazo al archivo doc / waf.pdf ; es un documento de 12 páginas que lo pondrá rápidamente en funcionamiento.


Utilizo SCons en un gran proyecto de C ++ (tanto en Linux como en Windows), y funciona muy bien.

scons all -j8 (que compila los archivos de objeto en paralelo) es muy genial!


¡Uso bakefile para mi proceso de compilación y me convertí en un gran fanático!

Nunca más tengo que escribir un Makefile, menos aún horribles scripts de autotools de GNU. Todo lo que tengo que hacer es proporcionar un archivo XML que describa los objetivos de compilación. Bakefile puede convertir esto en un Makefile que obtiene todas las dependencias (archivo de cabecera), etc., donde se pueden elegir diferentes formatos de Makefile (pegando la lista desde la documentación):

available formats are: autoconf GNU autoconf Makefile.in files borland Borland C/C++ makefiles dmars Digital Mars makefiles dmars_smake Digital Mars makefiles for SMAKE gnu GNU toolchain makefiles (Unix) mingw MinGW makefiles (mingw32-make) msevc4prj MS eMbedded Visual C++ 4 project files msvc MS Visual C++ nmake makefiles msvc6prj MS Visual C++ 6.0 project files msvs2003prj MS Visual Studio 2003 project files msvs2005prj MS Visual Studio 2005 project files symbian Symbian development files watcom OpenWatcom makefiles xcode2 Xcode 2.4 project files

Usualmente uso la opción autoconf , y escribe los molestos scripts de autotools de GNU para mí. Tuve que adaptar el script configure.ac , de modo que configure encuentre una cierta biblioteca en cualquier sistema. Pero no fue tan malo. Obtener los scripts de autoconf de esta manera es bueno, porque no tengo que escribirlos todos por mi cuenta, y cuando distribuyo mi proyecto parecerá que los escribí, y los usuarios aún pueden construir mi proyecto en el dios. dado manera, con

./configure && make && make install