Christof Meerwald@stlport.dm

> prog
>> dm
>>> stl

translate to German (by SYSTRAN)

STLport 4.5-0119 for Digital Mars C++

Since version 8.29.18 Digital Mars C++ is able to use the STLport library with a minimum of changes. And since version 8.32.9 it is even able to use STLport with namespace support enabled. DMC 8.32.15 finally added explicit template instantiations.

Despite its name, STLport is a full ANSI C++ Standard library. But you can choose to only use the STL part of it in which case you only need to include STLport's header files and don't need to build a library.



  • Download and unpack the STLport library (get it from STLport.org: STLport-4.5-0119.tar.gz
  • cd STLport-4.5-0119
  • patch -sp1 <..\STLport-4.5-0119-dm.diff
  • Optionally delete unused files:
    rd stlport\BC50 /s
    rd stlport\old_hp /s
  • Edit STLport-4.5-0119\stlport\stl_user_config.h
  • Build the STLport libraries:
    cd STLport-4.5-0119\src
    smake -f dm.mak
  • Install the libraries and header files:
    xcopy STLport-4.5-0119\lib\*.lib c:\dm\lib
    xcopy STLport-4.5-0119\stlport c:\dm\stlport /E /S

Finally, you might want to replace all occurences of __in and __out in the STLport header files with __stl_in and __stl_out. You can use my multifile-replace utility to do the job:

multifile-replace \
    -s "__(in|out)([^a-zA-Z0-9_])" "__stl_\1\2" \
    -s "#undef (__STLP_NO_KEYWORDS_WORKAROUND)" "#define \1" \
    -g stlport\* stlport\stl\* stlport\config\stl_dm.h

Known Issues

  • Performance for the DLL version might be slightly lower because DMC currently doesn't inline methods declared with __declspec(dllimport), also see this posting in the DM C++ newsgroup.

This Web page is licensed under the Creative Commons Attribution - NonCommercial - Share Alike License. Any use is subject to the Privacy Policy.

Revision: 1.11, cmeerw.org/prog/dm/stl.html
Last modified: Mon Sep 03 18:20:50 2018
Christof Meerwald <cmeerw@cmeerw.org>
XMPP: cmeerw@cmeerw.org