This documentation is provided for those wishing to compile their application for Windows 95/98/Me with full Unicode support. Windows 95/98/Me uses code pages (ANSI) while Windows NT/2000/XP uses Unicode. To provide Unicode support for your Windows 95/98/Me Microsoft have developed a translation layer, the Microsoft Layer for Unicode (MSLU), which provides a complete set of unicode APIs.
The following step-by-step tutorial details how to get Unicode support for WEL application using WIndows 95/98/Me.
Download the Microsoft Layer for Unicode here This contains the unicows.dll. The other file needed to get MSLU working, unicows.lib, can be found in the Microsoft Platform SDK.
Compile your application as normal.
Copy the unicows.dll and unicows.lib files into your project directory. Note that the Microsoft Layer for Unicode does not automatically load from the $(WINDOWS) or $(WINSYS) directories so do not put the files there.
Once MSLU support has been added you must modify the linker file generated by Eiffel:
Go to
your application's 'EIFGEN\W_code' directory and open the file called 'SystemName.lnk,
where 'SystemName'
is the name of your system as specified in the .ace file, in your favourite
text editor.
Add the
following at the start
of the file:
/nodefaultlib:kernel32.lib /nodefaultlib:advapi32.lib /nodefaultlib:user32.lib
/nodefaultlib:gdi32.lib /nodefaultlib:shell32.lib /nodefaultlib:comdlg32.lib
/nodefaultlib:version.lib /nodefaultlib:mpr.lib /nodefaultlib:winmm.lib
/nodefaultlib:winspool.lib /nodefaultlib:vfw32.lib /nodefaultlib:secur32.lib
/nodefaultlib:oleacc.lib /nodefaultlib:oledlg.lib
Then add:
unicows.lib
Now, replace the line that looks like this:
USER32.lib WSOCK32.lib ADVAPI32.lib GDI32.lib SHELL32.lib
COMDLG32.lib UUID.lib OLE32.lib OLEAUT32.lib COMCTL32.lib
MPR.LIB IMM32.LIB
With this:
KERNEL32.lib ADVAPI32.lib USER32.lib GDI32.lib SHELL32.lib
COMDLG32.lib VERSION.lib MPR.LIB WINMM.lib WINSPOOL.lib
VFW32.lib OLEACC.lib OLEDLG.lib WSOCK32.lib UUID.lib OLE32.lib
OLEAUT32.lib COMCTL32.lib
A sample linker file can be seen here with each step mark for your conveniance.
Now you must relink your application so that it knows to use the libraries you just changed in the linker file. To do this run 'link SystemName.lnk', where 'SystemName' is the name of your system as specified in the .ace file, from your 'EIFGEN\W_code' directory. Note that if you recompile the application C code a new linker file will be generated and the modified version will be overwritten.