STLport and VAC++ for OS/2
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
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.