2009-06-27 23 views
20

Tenemos un proyecto bastante grande de C/C++ usando scons para el edificio. Me gustaría intentar construir esto a través de Eclipse-CDT. Alguien tiene alguna experiencia con esto y puede decirme los pasos para configurar scons como constructor. (NO usando el plugin SConsBuilder, no funcionará con el Eclipse-CDT de Fedora-11).¿Cómo construir proyectos SCons con Eclipse CDT?

Respuesta

11

He intentado Waf in Eclipse CDT antes de ahora, SCons sería muy similar. La solución fue crear un proyecto Makefile vacío, luego simplemente cambiar "make" a "scons" en las opciones. En Windows que probablemente necesitaría el archivo scons.bat en su ruta. Eso no es mucho mejor que crear un Makefile ficticio que tiene un patrón de tipo all:\n\tscons, pero es el que menos funciona.

El SConsBuilder plugin no es una buena idea. Tiene un montón de código de pitón codificado allí que escupe en un SConstruct. No se ha actualizado en años y es probable que una gran cantidad de código ya no esté disponible en SCons. Creo que un mejor enfoque es hacer lo que SCons hace para Visual Studio, o lo que CMake hace para Eclipse CDT. Eso significa generar un archivo .cproject sobre la marcha basado en su configuración de compilación.

Escribí un Eclipse project generator for Waf en un punto, que recorre los nodos de compilación recopilando los archivos fuente y escupe un archivo .project y un archivo .cproject. De forma similar a como lo hace CMake, pero el comportamiento predeterminado de Waf de crear un directorio de variantes significa que no tiene que lidiar con problemas de compilación fuera de la fuente. Esto se ha agregado desde entonces como extra in waf itself. Utiliza solo una parte de la API de Waf, por lo que sería posible convertirla en SCons con una pequeña cantidad de trabajo. En otras palabras, no hay mucho por ahí. El formato .cproject no está realmente documentado en ninguna parte y es realmente feo en comparación con la versión de Java.

No llegué demasiado bien con CDT, está muy lejos de las herramientas de desarrollo de Java, y todavía uso Vim con :make, así que al final todo fue un poco académico.

14

Puede utilizar un Makefile que simplemente los delegados de los objetivos importantes de SCons

.PHONY: all clean install 
default: all 
all:  
    scons 
clean: 
    scons -c 
install: 
    scons install 

entonces es posible utilizar "Estándar Haga C Proyecto" fuera de la caja.

16

Uno de nuestros estudiantes implementó una nueva integración SCons para Eclipse CDT que funciona bidireccional, es decir, puede importar archivos SCons y rellenar proyectos Eclipse CDT con la configuración correspondiente y puede generar archivos SCons desde la configuración del proyecto Eclipse. Además, proporciona un modo SCons interactivo que acelera significativamente la construcción incremental de proyectos SCons más grandes. Pronto se lanzará gratis al público, vea http://sconsolidator.com

+1

WOW esto se ve bien. Felicitaciones a tus estudiantes. – supertux

+0

Lo voté porque utilicé sconsolidator y funciona. La única advertencia es que es una fuente cerrada. No creo que tenga un uso amplio a menos que sea de código abierto. –

+0

Probé sconsolidator y, por desgracia, no funciona en nuestro proyecto. Afirma que hubo un problema al importar las configuraciones y que la consola tendría más información sobre lo que salió mal (y la pantalla de la consola está vacía). Oh bien. –

4

Simplemente cambie la configuración del generador, no necesita complementos. Elija constructor externo y establezca scon en lugar de make y configure workdir en dir donde realizó SConstruct.

Ahora, puede usar la vista de hacer objetivos para crear comandos de compilación de scons y ejecutarlo como comandos make. Los analizadores de errores con scon funcionan bien de manera predeterminada, no se requiere configuración adicional.

0

Sea MUY MUY cuidadoso sobre el uso de Sconsolidator con un proyecto existente !! Sobreescribirá ciegamente cualquier archivo SConstruct/SConscript existente que tengas en el directorio raíz de tu proyecto cuando hagas clic en el enlace para agregar una naturaleza SCons a tu proyecto. (Estoy tratando de informar esto como un error en el proyecto, pero bloqueado en todo momento hasta el momento).

+0

Debería poder reportar su problema aquí: http: //sconsolidator.com/projects/sconsolidator/issues –

Cuestiones relacionadas