STLport and VAC++ for OS/2

Updated October 17, 2000

STLport is a multiplatform ANSI C++ Standard library. Using it adds the missing standard libraries, such as the standard string class, to Visual Age C++(VAC++). I'm using version 3.08 of VAC++.

  1. Download STLport, I got version 4.0

  2. Unzip into your IBMCPP directory

  3. Modify your config.sys file to put the STLport files first in the INCLUDE path
    mine was
    SET INCLUDE=D:\IBMCPP\INCLUDE;D:\IBMCPP\INCLUDE\OS2;D:\IBMCPP\INC;D:\IBMCPP\INCLUDE\SOM;C:\JAVA11\INCLUDE;C:\JAVA11\INCLUDE\OS2;
    I changed it to
    SET INCLUDE=D:\IBMCPP\STLport-4.0\STLport;D:\IBMCPP\INCLUDE;D:\IBMCPP\INCLUDE\OS2;D:\IBMCPP\INC;D:\IBMCPP\INCLUDE\SOM;C:\JAVA11\INCLUDE;C:\JAVA11\INCLUDE\OS2;

  4. In STLport version 4.0, the IOSTREAM class isn't ready for VAC++, so we must configure STLport to use VAC++'s version instead
    1. Edit file D:\ibmcpp\stlport-4.0\stlport\stl\_site_config.h
    2. add the following line at the top of _site_config.h
      #define __STL_NO_SGI_IOSTREAMS

  5. Compile your project - you'll get some unresolved external link errors

  6. a new directory, tempinc will show up in your project's directory - we need to add it to VAC++'s list of source code directories
    1. Bring up your project's properties dialog
    2. select the Location tab
    3. add the tempinc directory to the list - my list for Stella/2 looks like this

  7. Rebuild your MAKEFILE - don't forget to add the new source files from TEMPINC

  8. Recompile your project

  9. More files may show up in the TEMPINC directory - if so, go back to step 7

Questions or commments to Darrell Spice Jr.

SpiceWare Home Page