[Python-Dev] Unicode fallout: Windows _winreg project broken

Tim Peters tim.one@home.com
Wed, 27 Jun 2001 01:14:29 -0400


The _winreg project no longer links:

   Creating library ./_winreg_d.lib and object ./_winreg_d.exp
_winreg.obj : error LNK2001: unresolved external symbol
__imp__PyUnicode_DecodeMBCS

The compilation of PyUnicode_DecodeMBCS in unicodeobject.c is in a

    #if defined(MS_WIN32) && defined(HAVE_USABLE_WCHAR_T)

block.  But the top of unicodeobject.h now wraps the enabling

    # if defined(MS_WIN32) && !defined(USE_UCS4_STORAGE)
    #  define HAVE_USABLE_WCHAR_T
    #  define PY_UNICODE_TYPE wchar_t
    # endif

block inside a

    #ifndef PY_UNICODE_TYPE

block, and a change to PC/config.h:

    #define PY_UNICODE_TYPE unsigned short

stops all that.  IOW, HAVE_USABLE_WCHAR_T no longer gets #define'd on
Windows, and that prevents unicodeobject.c from supplying routines _winreg.c
calls.

leaving-it-to-an-expert-who-thinks-they-know-what-all-these-symbols-
    are-supposed-to-really-mean-ly y'rs  - tim