Entradas etiquetadas como ‘C/C++’

Escrito por Iván Alonso el Domingo 28 de junio de 2009

He estado probando la nueva versión de Eclipse (de nombre Galileo) y el tutorial que escribí para la anterior versión (Ganímedes) sigue siendo válido, aunque dejo aquí algunos posibles apuntes para quien quiera probarlo.

A tener en cuenta:

  • Ahora al crear un nuevo proyecto podéis seleccionar directamente el toolchain a utilizar (y detecta que tenemos disponible Cygwin Gcc al tener ya instalado Cygwin con los paquetes necesarios).
  • Sin embargo, obviamente,  sigue siendo necesario añadir el directorio de los binarios de Cygwin en el Path del sistema (Paso 2 de la sección “Gcc para Windows” del anterior tutorial).

Algunos posibles errores del entorno:

  • Unresolved inclusion: <stdio.h> Si las utilidades os funcionan (gdb, Mmke, etc) pero tenéis en el entorno mensajes de este estilo, es posible que la detección de los directorios donde residen las librerías de Cygwin no haya sido correcta. En las propiedades del proyecto,  C/C++ Build, Settings, pestaña Tool Settings. En Cygwin C++ Compiler/Directories y en Cygwin C Compiler/Directories, añadimos las siguientes carpetas (Lógicamente, cambiando el comienzo del path por aquél donde reside vuestra instalación de Cygwin):
    "C:\Archivos de programa\Cygwin\lib\gcc\i686-pc-cygwin\3.4.4\include"
    "C:\Archivos de programa\Cygwin\lib\gcc\i686-pc-cygwin\3.4.4\include\c++"
  • Error launching external scanner info generator. Si tenéis este tipo de warnings, probad a abrir una ventana de línea de comandos de Windows (no la de Cygwin) y escribir g++ y gcc. Si no os los reconoce pero sí encuentra el comando g++-3, es porque tiene un problema con los enlaces simbólicos del sistema Cygwin, que seguro que se puede resolver de algún otro modo más profesional, pero este también lo soluciona: Propiedades del proyecto, C/C++ Build, Discovery Options. En Discovery Profiles Scope cambiamos de Per-Language a Configuration Wide, y así nos aparecerá más abajo un menú para escribir el Compiler invocation command (será g++, lo cambiamos a g++-3). Con eso sabrá encontrar siempre el comando correcto.
  • make: warning:  Clock skew detected.  Your build may be incomplete. Puede estar debido a que tengáis el proyecto almacenado en una partición FAT, dejadlo en una NTFS. Yo tengo una FAT para contenido común entre varios sistemas operativos (incluyendo OS-X) y no imaginé que pudiera ser por eso. Este error viene por un error de fechas en los archivos, y el sistema detecta posibles inconsistencias (que en este caso pueden estar debidas a que un sistema de ficheros FAT no almacena mucha información sobre los archivos que guarda).
Error launching external scanner info generator
Escrito por Iván Alonso el Martes 14 de octubre de 2008

Algo  bueno que tiene el entorno Xcode y su compilador es que es compatible con ambos lenguajes (Objective-C y C++), incluso al nivel de mezclar el código en los mismos archivos. Lo único necesario es nombrar los archivos de C++ como .h/.cpp y los de Objective-C (o mezcla) como .h/.mm (en lugar del .m habitual). No es necesario cambiar la configuración por defecto de ningún proyecto para que la compilación sea exitosa.

Un ejemplo habitual que a mí me costó solucionar: ¿Cómo pasar strings de C (char *) a strings de Objective-C (NSString)?

    float fPrueba = 3.456;
    char * strPrueba = new char[16];
    sprintf(strPrueba, "%.6f",  fPrueba);
 
    NSString * objCString =
          [NSString stringWithUTF8String:strPrueba];

Tres líneas en C++ y la siguiente pasa a ser en otro lenguaje pero utilizando la variable que ya hemos definido. ¡Y funciona! Espectacular…

Escrito por Iván Alonso el Jueves 10 de julio de 2008

Hace unos días instalamos Eclipse en Ubuntu, para ir trasteando con el nuevo entorno. Conste en acta que yo Eclipse lo he usado tres veces contadas, así que iremos descubriendo qué podemos hacer y cómo a la vez.

Los siguientes pasos serán instalar el mismo entorno sobre Windows (de lo que trata este post) y, por último, de configurarlo de modo que podamos compilar el mismo código en dos entornos diferentes generando ejecutables autónomos (que quedará para un próximo post).

Instalando Eclipse sobre Windows

Vamos a la página de descargas de Eclipse (veremos que ya se encuentra en su versión Ganymede), seleccionamos Eclipse IDE for C/C++ Developers [68MB], y escogeremos el mirror desde el que queremos descargar la versión (por defecto se nos mostrará uno cercano).

(más…)

Escrito por Iván Alonso el Martes 17 de junio de 2008

Aunque puede parecer un trabalenguas, de eso va este post, de cómo configurar este entorno sobre Ubuntu. En mi trabajo prácticamente el 100% del tiempo trabajo sobre Visual Studio (diferentes versiones, últimamente sobre todo 2005 y 2008), pero para mis propios proyectos ya es más raro, principalmente porque en casa únicamente tengo Windows en un portátil que apenas utilizo.

Siempre que puedo programo en C++ (como todos los hombres de verdad), así que vamos a intentar configurar un buen entorno de programación. Paradójicamente el que voy a utilizar es Eclipse, que suele utilizarse para desarrollo en Java (¡puaj!)… pero Eclipse es realmente mucho más que un entorno de programación, como muchos Javeros saben. Es un framework en sí mismo sobre el que pueden construirse muchas cosas, tiene una gran comunidad de desarrolladores y grandes empresas detrás, etc… El caso es que existe un grupo de trabajo que se encarga de personalizarlo para una correcta utilización con C++.

¿Otras opciones? Ninguna que me convenza hasta ahora, la verdad. KDevelop no lo he probado porque uso Gnome. CodeBlocks lo probé hace poco sobre un Windows y dejaba muchísimo que desear. Sun Studio no lo he visto nunca en acción, así que no puedo ni opinar. Y ahora mismo no caigo en mucho más, ya me recordaréis en los comentarios lo que me esté dejando.

(más…)