|
Installing STLport for use without SGI iostreams (Default)
In this mode, you will use wrappers around your compiler's iostreams
libabry, as in previous STLport releases.
All you have to do to use STLport in this mode is to uncomment
__STL_NO_SGI_IOSTREAMS setting in "stlport/stl/_site_config.h"
to disable use of SGI iostreams and to use wrappers around your existing iostreams.
Note though :
- New-style ANSI iostreams may not be provided by your compiler vendor;
- If provided, vendor iostreams are most likely slower than SGI version.
If you have decided to disable SGI iostreams, you may stop reading here.
To use wrapper mode, you do not have to build any binary libraries, as everything you need
is contained in the header files already.
Building STLport (SGI iostreams) library
In this mode, you will use SGI implemnentation of iostreams instead of the one that comes
with your compiler. It does contain some non-template code so you have to build STLport
iostreams library in "src" directory to link your project with.
Below are step-by-step instructions to build STLport library:
- Do make sure you have followed instructions for default installation above.
- Go to "src" subdirectory. It contains various makefiles for different compilers.
If iostreams library is not yet ported to your compiler (please see Release Notes for details), you may revert to use wrapper
mode or port it. Please refer
to porting document to learn how to port iostreams library
to your compiler. The porting procedure is usually straightforward on UNIXes.
- Using appropriate makefile, do "make clean all" to build STLport libraries
(makefiles are set up to build several different flavors - debug/nondebug,
static/dynamic versions).
Note : your make program may have different name, like "nmake" for Visual C++, so, with "nmake", do "nmake clean all"
- If make fails, you may try fixing the build yourself and/or report it to STLport Forum.
- Do "make install" to install resulting libraries into "lib" subdirectory. On Windows, this step also copies .dll libraries to system directory to be accessible at runtime.
Notes
When using STLport as a dynamic library, please make sure you put in the PATH
and distribute it together with your executable. This extra dependency is certainly
in favor of using static linking. However, if your project deploys any
Win DLL's using STLport, you have to use STLport as Win DLL, too. This is because
it contains some static variables (like cerr stream) which would otherwise be duplicated
in every DLL. This problem does not arise in Unix world.
[ Visual C++ specific ] If using STLport as DLL, please be sure to use /MD[d]
compiler option to pick up all dynamic libraries.
Testing STLport
STLport provides two test suites - regression
test and exception handling test.
It is recommended that you run them to verify your new STLport installation works OK.
|