SourceForge Logo

libunicows

Latest version is 0.6.4, released on 2004/02/18 (see changes)

What is libunicows?

Traditionally, win32 Unicode API was only available on Windows NT or 2000. If you wanted to take advantage of Unicode in your application and support Windows 95/98 at the same time, your only option was to deploy two executables, one for NT and one for 9X. Fortunately, this changed in 2001 when MS (finally!) released MSLU runtime that allows Unicode applications to run under Windows 9X.

See these pages for details:

Less fortunately, this solution requires that you use a special statically linked import library that decides at runtime whether to load symbols from system libraries like kernel32.dll or user32.dll (in case of Windows NT) or from unicows.dll (which provides Unicode emulation layer under 9X). This import library is only available for Microsoft Visual C++ and is only part of the new Platform SDK, which is rather huge package.

libunicows contains independent implementation of the import library. It can be used with any C compiler (although it was only tested with Mingw32, MSVC and Borland compilers so far) and is released under the Open Source MIT license (this permits you to link the library into your executable without any restrictions).

For compilers where "native" import library is not available in precompiled form or is impossible/difficult to create (this is the case of e.g. Borland C++ which doesn't use COFF libraries), libunicows provides alternative mean of using unicows.dll (beginning with version 0.6). There is a version of unicows import library compiled as a DLL, called unicows_wrapper.dll. You can create import library for the wrapper as you do with any other DLL and calls to Unicode API functions will go through the wrapper DLL. Unlike when creating such import library for unicows.dll, unicows.dll is not used on NT/2000/XP systems when using the wrapper.

Help needed!

Currently only Mingw3, MSVC and Borland C++ are directly supported. In order to provide precompiled libraries for as many compilers as possible, your help is needed! I'd like to have libraries and makefiles for at least Watcom and DigitalMars compilers.

Download

Mingw32 libunicows-0.6.4-mingw32.zip
Microsoft Visual C++ 6 libunicows-0.6.4-msvc6.zip
Borland C++ libunicows-0.6.4-bcc32.zip
Watcom C/C++ libunicows-0.6.4-watcom.zip
Source code libunicows-0.6.4-src.tar.gz

See also the SF.net project page

Changes

version 0.6.4
version 0.6.3
version 0.6.2:
version 0.6.1:
version 0.6:
version 0.5:
initial release

Contact

You can contact me by e-mail at vaclav.slavik@matfyz.cz.