STLport and VAC++ for OS/2

From EDM2
Jump to: navigation, search

by Darrell Spice

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 a. Edit file D:\ibmcpp\stlport-4.0\stlport\stl\_site_config.h b. 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 a. Bring up your project's properties dialog b. select the Location tab c. add the tempinc directory to the list - my list for Stella/2 looks like this

Vacprop.png

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.