Qué necesitas instalar para programar en C en Windows

Tengo que impartir un curso de introducción a la programación, utilizando el lenguaje C, dentro de unos días. ¡Bien!. Ya hacía años que no podía disfrutar con un curso así, en el que puedes enseñar los fundamentos a un grupo de personas, y ves cómo aprenden desde el principio y cómo van evolucionando. Encima, para mayor regocijo del docente, el lenguaje elegido es C. Siempre he considerado C como mi lenguaje totem, el hogar a la que volver, con el que me siento más a gusto. En los 90 programé bastante en C y C++. Pero a finales de la década, llegaron primero Visual Basic y luego Java, y no volví a programar en C. Hasta que el año pasado empecé a aprender Cocoa y Objective C para hacer Apps en Apple iOS. Y me ilusioné al descubrir que Objective C es un superconjunto estricto de C, es decir, que tiene todo lo que tiene C, y más cosas.

Así que el curso pinta bien. Si lo pudiera impartir en Linux, ya sería la repera (porque en Mac ni me lo planteo: las empresas cárnicas aún no lo usan). Pero todo no puede ser perfecto. El cliente quiere Windows. Bueno, sin problemas, yo no soy anti-nada. Windows 7, como ya he comentado antes, me parece un buen S.O. No es mi elección para el día a día, porque me siento más cómodo en UNIX (Mac en este caso), pero la última versión es una buena elección para sus usuarios. El problema entonces era encontrar un compilador y entorno integrado que fuese cómodo para programar y que ya conociese. Y si fuera Software Libre, perfecto.

Con estos requisitos, Visual Studio queda fuera. Cierto, llevas el IDE y el compilador integrados de una vez, pero no lo he usado nunca. Y aunque ahora es gratis la versión exprés (o podría usar una de prueba para el curso) no me apetecía pelearme con otro IDE. Netbeans cumple casi todo, pero no lleva integrado el compilador. Ni Eclipse, pero ya que conozco razonablemente Eclipse tras todo el tiempo que le he dedicado impartiendo cursos de Java y preparando certificaciones, me parecía la mejor opción. Así que vamos con la instalación de Eclipse para programar en C en Windows.

Instalar el compilador de C

Lo primero que hay que tener claro es que Eclipse sólo es un Entorno Integrado de Desarrollo. Un IDE. Un editor potente, un programa para organizar tus proyectos de software y no pelearte con ficheros sueltos en una carpeta, un sitio donde ver los errores de compilación y leer la ayuda. Un aglutinador de herramientas. Pero no es un compilador. No lo incluye. E igual que cuando preparas un Elcipse para programar en Java hay que instalar previamente el JDK, que incluye el compilador de Java, aquí hay que instalar el compilador de C.

Buscando uno libre y moderno (el último compilador de C que usé en S.O. Microsoft fue el djgpp sobre MSDOS), di con MinGW, Minimalist GNU for Windows, un conjunto de herramientas GNU (las mismas que se encuentran en GNU/Linux) pero compiladas para Windows. ¡Perfecto!. Instalando esto ya tengo GCC (el compilador de C en Linux y Mac de toda la vida), make y el resto de herramientas de desarrollo desde la linea de comandos. Instalarlo es descargar el ejecutable y pulsar en Siguiente, Siguiente hasta el final. Ojo: instala MinGW en C:\MinGW para evitar problemas posteriores. Es el sitio que aparece por defecto al instalar, así que déjalo como esté.

Tras la instalación, y para que Eclipse pueda encontrarlo, tendremos que añadir la carpeta con los ejecutables de MinGW al PATH del sistema (instrucciones en Inglés, o bien sigues leyendo). Para poder usar cualquier programa en Windows tenemos dos opciones: o bien vamos a la carpeta donde está el programa y lo lanzamos desde ahí, o incluímos la carpeta en la variable PATH del sistema de forma que cada vez que se necesite ejecutar ese programa Windows lo encuentre. Vamos a ello. Abrimos un explorador de Windows (Tecla Windows + E) y pulsamos con el botón derecho del ratón sobre Equipo.

Configuración del Sistema

Configuración del Sistema

Si pulsamos en “Configuración Avanzada del Sistema” nos aparecerá la ventana clásica de “Propiedades del Sistema” de XP. Si no está abierta, hacemos click sobre la pestaña “Opciones avanzadas” y veremos un botón abajo del todo que pone “Variables de entorno”. Entrando, veremos dos tipos de variables: del Sistema y de nuestro usuarios. Las variables del Sistema tienen efecto para cualquier usuario que inicie sesión en esta máquina, mientras que las del usuario sólo nos afectan a nosotros mismos. Cuando añado algo al PATH, me gusta que sea a nivel del Sistema, así que buscamos PATH y doble click. En la ventana que se abre, debemos ir al final de la lista de directorios, añadir un punto y coma y la carpeta donde está MinGW.

Configurando PATH

Configurando PATH

Mi PATH queda algo como:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;...;C:\MinGW\bin

La prueba definitiva de que todo está OK es abrir un intérprete de comandos de Windows, pulsando la Tecla Windows + R y escribiendo “cmd” en el diálogo que aparece. Si escribimos gcc -v y nos aparece información sobre nuestra versión instalada del compilador de C GCC, felicidades. Ya podemos compilar.

MinGW funciona!

MinGW funciona!

Instalar un entorno JRE de Java

Eclipse es un programa que está escrito en Java. Luego para poder ejecutarlo necesitamos instalar en nuestro Windows el JRE (Java Runtime Environment). Una vez que lo tengamos, podremos ejecutar cualquier programa Java, así como Applets en el navegador. Probablemente ya lo tengas instalado (puedes ver si tienes en Archivos de Programa una carpeta llamada Java) pero si tienes dudas, instálate el último JRE de la página de Sun (ahora Oracle). Para comprobarlo, desde una terminal, escribe java -version.

Instalar Eclipse CDT

Siguente paso: descargar Eclipse. Para ello, buscaremos la versión correcta, ya que Eclipse es un IDE que sirve para todo. Con Eclipse podemos programar en C, C++, Java, PHP, … casi en cualquier cosa. Por ello, hay paquetes ya precreados con un Eclipse totalmente configurado para un uso determinado. El que nos hace falta en este caso es el Eclipse CDT

Descargamos el fichero (tardará un rato, pesa unos cuantos MB) y una vez lo tengamos, lo movemos a la carpeta que queramos. Aunque Eclipse sea un programa no se “instala” en Archivos de Programa, aunque podemos moverlo ahí. Realmente se descomprime, se abre, se pulsa sobre el icono de Eclipse y listo.

Si todo ha ido bien, podremos crear un nuevo proyecto C, añadir un fichero y compilar sin problemas. Pero esto va a ser material para otro post.

17 comments

  1. No te compliques, compañero. El otro día tuve que programar
    una pequeña aplicación para nuestra red Windows (en concreto, un
    salvapantallas con unas características muy concretas) y lo hice
    con Turbo C. Tamaño del ejecutable: 68 KB, sin el problema de la
    dependencia de archivos DLL ni cosas parecidas. Es un alivio que
    Windows siga ejecutando antiguos programas de MS-DOS.

    • Si fuera para mi, probablemente lo usaría, más que nada porque todavía me acuerdo de los atajos de teclado
      Creo que los alumnos preferirán algo con ratón, ya que aprender C y a la vez un entorno retro va a ser demasiado :-)

  2. Pingback: Una mañana de trabajo cualquiera

  3. Hola, he instalado windows 7 64 bits en la partición bootcamp de mi macbook, ¿es posible instalar todo esto que comentas siendo mi sistema de 64 bits, o esto es solo para 32?
    Muchas gracias

  4. Hola, mvnet

    Claro que puedes instalarlo todo. Si dispones de versiones específicas de 64bits es mejor que instales esas. Aunque creo que no tendrías demasiados problemas corriendo software de 32 en un S.O. de 64. Al revés no es tan fácil ;-)

    ¿Planteándote programar en C? Buen lenguaje

  5. Hola,
    Interesante post. Soy estudiante de master y la verdad que siempre que he programado en C, C++, o sea el lenguaje que sea, lo he hecho con el gedit de Linux y utilizando los compiladores correspondientes gcc, g++,…

    En fin, la cuestión es que ahora quiero programar en Windows 7 en C++, utilizando librerías de OpenCV.

    Se adapta tu post a mis necesidades? Basicamente la pregunta es… el compilador de C que has mencionado compila tambien C++ y las librerías de OpenCV?

    Gracias

  6. ¡Hola!

    Está muy bueno tu post. Tengo un problema para usar el eclipse, me pide el JDK o el JRE pero ya los tengo instalados y me dice que no los encuentra en el path, ya lo modifique y no abre, espero que me puedas ayudar…. Gracias

    Saludos :)

    • Si no te arranca Eclipse, probablemente sea porque la ruta que has puesto en PATH del JDK tenga espacios. Puedes probar a ponerla entre comillas dobles.
      Pero la forma “definitiva” de hacer que Eclipse se inicie es copiar la carpeta JRE que tienes dentro de la carpeta en la que se ha instalado el JDK (algo como c:\Program Files\Java\jdk1.6.0_23\jre) dentro de la carpeta de Eclipse. Eclipse, si encuentra una carpeta jre “a mano” la usa :-D
      Un saludo

  7. Hola dfreniche

    Gracias por describirme el comando pero el problema es que no me lo reconoce. No tengo claro si me he saltado algun paso antes del path. De todas formas en el path tampoco estoy seguro que direccion hay que escribir en el.

    Gracias :)

    • Hola Nelson

      En los Windows que he usado, desde el 3.1 al 7, no. Para añadir una carpeta al PATH basta con poner PATH=%PATH%;c:\mi-path
      No se qué versión estás usando, o qué problema te da, pero “a mi me funciona” © :-D

  8. Hola, no se si puedes ayudarme, pero cualquier informacion al respecto me puede ayudar. En el trabajo me pidieron implementar un IDE para el lenguaje de programación que crearon. Intente hacerlo con Visual Studio Shell Isolated pero no he logrado que funcione correctamente.
    Actualmente estan usando Xtext, pero no estan conformes.
    Me dijeron que lo puedo hacer con DLTK en Eclipse, ¿es correcto?.
    No tengo mucha experiencia trabajando con java ni con Eclipse, pero por lo que encontre en estos dias creo que se puede hacer con plugin, si pudes ayudarme o referirme algun sitio que me brinde dicha información te lo agradeceria.

    Desde ya muchas gracias.
    Fabiana.

Comments are closed.