domingo, 23 de setiembre de 2007

/eclipse y cygwin - problemas para compilar



La facilidad para gestionar proyectos en Java, lo personalizable y lo extensible que es mediante plugins, hace que Eclipse sea uno de mis entornos de desarrollo preferidos. Decidí cambiar la versión anterior a la nueva, Eclipse Europa para Windows XP. Quiero probarlo mas con C++, y para eso descagué la última versión del proyecto CDT (versión 4.0), que permite crear aplicaciones en C/C++.
CDT no viene con compilador, por lo tanto corre por nuestra cuenta descargarlo e instalarlo, y posteriormente configurarlo en Eclipse.



CDT tiene características interesantes
sin ser aun un producto maduro, dentro de lo destacable está el autocompletado de código, una plantilla para generar clases, elegir el tipo de constructores y atributos, depurar y ver el contenido de las variables durante el proceso.
Por defecto con el que trabaja bajo Windows es
MinGW. Como ya tenía instalado Cygwin y algo había hecho con CDT en la versión anterior de Eclipse, me puse a trabajar como siempre. Pero no fue así, después de compilar el código, y sin tener errores aparentes, cuando intenté ejecutarlo salió una ventana con el siguiente mensaje de error: "Launch failed no binaries".




Además en la consola tenía una cantidad de líneas con mensaje: "xx: makefile error" (xx es el número de línea). Lo primero que pensé fue que no tenía bien configurado el make y me propuse a hacerlo. Esto puede hacerse desde: Proyecto ->Propiedades->C/C++ builds



Ningun tipo de variación a las configuración surtió efecto, Google tampoco, decidí entrar al newsgroup correspondiente: news.eclipse.org -> eclipse.tools.cdt.
Ahí estaba la respuesta: es un bug que fue arreglado para la próxima versión de CDT, la 4.01 segun Doug Schaefer uno de sus desarrolladores.
El problema es que Eclipse se fija lo que tiene instalado cygwin en el archivo
c:\cygwin\etc\setup\installed.db (puede ser editado con WordPad), y busca por {"gcc ", "binutils ", "make "} si no encuentra nada de eso, cygwin no funciona. La comparación debería ser por gcc-core, ya que no hay gcc en el archivo installed.db.

Conlusión y solución: para usar Eclipse con C++ en Windows, con la versión actual de CDT (4.0) instalar el compilador MinGW o trabajar con Code::Blocks.
En un post previo, había comentado de las diferencias entre MinGW y Cygwin.






1 comentario:

Anónimo dijo...

binutils binutils-2.19.51-1.tar.bz2 0
gcc-core gcc-core-3.4.4-999.tar.bz2 0
make make-3.81-2.tar.bz2 0
los tengo en el installed.db pero nada, eclipse no reconocer el CYGWIN GCC, no se xq no reconoce, en cambio al MINGW si lo reconoce