STLPort y Visual Studio 2005

Aunque la versión de STL que proporciona Visual C++ 2005 es en muchos aspectos superior a la de STLPort, aun hay mucha gente que utilizar STLPort por motivos históricos (la STL de Visual C++ 6.0 era pésima) o por cuestiones de portabilidad (STLPort está disponible para infinidad de plataformas).

Ya que me he visto en la necesidad de hacerlo, os cuento como usar STLPort con Visual C++ 2005, que puede ser un poco farragoso, sobre todo si es la primera vez:

  1. Descargar la última versión disponible de STLPort desde www.stlport.org, a la fecha de publicación de este post, la última versión disponible es la 5.1.3.
  2. Descomprimir el archivo zip, el directorio de igual, pero yo lo he descomprimido en %programfiles%STLport-5.1.3
  3. Compilar STLPort, esta es la parte más propensa a errores:
    1. Abre una ventana de msdos usando el acceso directo Visual Studio Command Prompt que encontrarás en Inicio > Programas > Microsoft Visual Studio 2005 > Visual Studio Tools.
    2. Ejecuta el comando vcvarsall.bat, que establece las variables de sistema necesarias para poder compilar desde línea de comandos con comodidad. A partir de ahora siempre utilizaremos la ventana msdos que ya tienes abierta
    3. Muévete al subdirectorio buildlib bajo el directorio en que descomprimiste STLPort (%programfiles%STLport-5.1.3buildlib, en mi caso).
    4. Ejecuta configure -c msvc8
    5. Ejecuta nmake /fmsvc.mak para compilar STLPort.
    6. Ejecuta nmake /fmsvc.mak install.
  4. En Visual Studio 2005 estableceremos que el compilador busque los archivos de cabecera en el directorio de STLPort. Para ello, vamos al menu Tools > Options… y en el cuadro de dialogo que aparece seleccionamos, Projects and Solutions > VC++ Directories. En el combo Show directories for, seleccionamos Include Files y añadimos el directorio stlport ($(ProgramFiles)STLport-5.1.3stlport, en mi caso) al principio de la lista.
  5. De modo similar al paso anterior, en Visual Studio 2005 estableceremos que el compilador busque los archivos de librería en el directorio de STLPort. Para ello, en el combo Show directories for, seleccionamos Library Files y añadimos el directorio lib de STLPort ($(ProgramFiles)STLport-5.1.3lib, en mi caso) al principio de la lista.

Esto es todo!!! A partir de este momento estaremos usano la STL de STLPort en lugar de la de Microsoft.

2 comentarios sobre “STLPort y Visual Studio 2005”

  1. Hola Rodrigo,

    Bueno como te comente por mail actualmetne estoy en un proyecto de integración de dispositivo que me esta sirviendo para introducirme en el mundo del C por la puerta de atras y sin hacer mucho ruido, jejeje.

    Pues bien, por desgracia (¡Ojala puedier probar el nuevo standar C++/CLI!) en el proyecto estoy con VS2003 asi que me pregunto si es mejor la Biblioteca estándar de C++ que trae 2003 o la STLPort? Por lo que he visto no se han introducido muchos cambios significativos?

    He estado mirando estas referencias:

    Cambios en la biblioteca estándar de C++: Visual C++ .NET 2003
    http://msdn2.microsoft.com/es-es/library/zzz7ct0s(VS.80).aspx

    Nuevas características de la biblioteca estándar de C++
    http://msdn2.microsoft.com/es-es/library/ms235424(VS.80).aspx

    Saludos.

  2. Con la versión 7 (Visual Studio 2002) de Visual C++, Microsoft hizo grandes mejoras en su implementación de STL acercandola casi totalmente al estandar de C++. Desde ese momento ya no compensa demasiado utilizar STLPort, salvo que la portabilidad del código sea un factor determinante. Hay pequeñas diferencias en diferentes implementaciones de STL y STLPort está disponible para multitud de plataformas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *