diff --git a/build/bakefiles/regex.bkl b/build/bakefiles/regex.bkl
index e2081839b1..29fea08244 100644
--- a/build/bakefiles/regex.bkl
+++ b/build/bakefiles/regex.bkl
@@ -18,6 +18,7 @@
cond="wxUSE_REGEX=='builtin' and BUILDING_LIB=='1'">
$(TOP_SRCDIR)include
$(SETUPHDIR)
+ $(UNICODE_DEFINE)
$(LIBDIRNAME)
-w-8004 -w-8012 -w-8057 -w-8066
diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc
index ea64dff0ce..e5f34c2b6d 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -732,8 +732,8 @@ WXPNG_OBJECTS = \
$(OBJS)\wxpng_pngwtran.obj \
$(OBJS)\wxpng_pngwutil.obj
WXREGEX_CFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
- $(__OPTIMIZEFLAG) -tWM -I..\..\include -I$(SETUPHDIR) -w-8004 -w-8012 -w-8057 \
- -w-8066 $(CPPFLAGS) $(CFLAGS)
+ $(__OPTIMIZEFLAG) -tWM -I..\..\include -I$(SETUPHDIR) $(__UNICODE_DEFINE_p) \
+ -w-8004 -w-8012 -w-8057 -w-8066 $(CPPFLAGS) $(CFLAGS)
WXREGEX_OBJECTS = \
$(OBJS)\wxregex_regcomp.obj \
$(OBJS)\wxregex_regexec.obj \
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index 36b1c16770..e0ff88390d 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -715,7 +715,7 @@ WXPNG_OBJECTS = \
$(OBJS)\wxpng_pngwtran.o \
$(OBJS)\wxpng_pngwutil.o
WXREGEX_CFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(GCCFLAGS) -DHAVE_W32API_H \
- -I..\..\include -I$(SETUPHDIR) $(CPPFLAGS) $(CFLAGS)
+ -I..\..\include -I$(SETUPHDIR) $(__UNICODE_DEFINE_p) $(CPPFLAGS) $(CFLAGS)
WXREGEX_OBJECTS = \
$(OBJS)\wxregex_regcomp.o \
$(OBJS)\wxregex_regexec.o \
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index 766311e488..53e23d99aa 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -808,7 +808,7 @@ WXPNG_OBJECTS = \
WXREGEX_CFLAGS = /M$(__RUNTIME_LIBS)$(__DEBUGRUNTIME_3) /DWIN32 \
$(__DEBUGINFO_32) /Fd$(LIBDIRNAME)\wxregex$(WXDEBUGFLAG).pdb \
$(____DEBUGRUNTIME_2_p) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) \
- /I..\..\include /I$(SETUPHDIR) $(CPPFLAGS) $(CFLAGS)
+ /I..\..\include /I$(SETUPHDIR) $(__UNICODE_DEFINE_p) $(CPPFLAGS) $(CFLAGS)
WXREGEX_OBJECTS = \
$(OBJS)\wxregex_regcomp.obj \
$(OBJS)\wxregex_regexec.obj \
diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat
index 39d0647322..86781cdf64 100644
--- a/build/msw/makefile.wat
+++ b/build/msw/makefile.wat
@@ -2735,7 +2735,7 @@ WXPNG_OBJECTS = &
$(OBJS)\wxpng_pngwtran.obj &
$(OBJS)\wxpng_pngwutil.obj
WXREGEX_CFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) -bm $(__RUNTIME_LIBS) &
- -i=..\..\include -i=$(SETUPHDIR) $(CPPFLAGS) $(CFLAGS)
+ -i=..\..\include -i=$(SETUPHDIR) $(__UNICODE_DEFINE_p) $(CPPFLAGS) $(CFLAGS)
WXREGEX_OBJECTS = &
$(OBJS)\wxregex_regcomp.obj &
$(OBJS)\wxregex_regexec.obj &
diff --git a/build/msw/wx_wxregex.dsp b/build/msw/wx_wxregex.dsp
index d1521dcd4c..66ac18284a 100644
--- a/build/msw/wx_wxregex.dsp
+++ b/build/msw/wx_wxregex.dsp
@@ -54,8 +54,8 @@ RSC=rc.exe
# PROP Output_Dir "..\..\lib\vc_dll"
# PROP Intermediate_Dir "vc_mswunivudll\wxregex"
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswunivu" /Fd..\..\lib\vc_dll\wxregex.pdb /D "WIN32" /D "_LIB" /c
-# ADD CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswunivu" /Fd..\..\lib\vc_dll\wxregex.pdb /D "WIN32" /D "_LIB" /c
+# ADD BASE CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswunivu" /Fd..\..\lib\vc_dll\wxregex.pdb /D "WIN32" /D "_LIB" /D "_UNICODE" /c
+# ADD CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswunivu" /Fd..\..\lib\vc_dll\wxregex.pdb /D "WIN32" /D "_LIB" /D "_UNICODE" /c
# ADD BASE RSC /l 0x405
# ADD RSC /l 0x405
BSC32=bscmake.exe
@@ -77,8 +77,8 @@ LIB32=link.exe -lib
# PROP Output_Dir "..\..\lib\vc_dll"
# PROP Intermediate_Dir "vc_mswunivuddll\wxregex"
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswunivud" /Zi /Gm /GZ /Fd..\..\lib\vc_dll\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswunivud" /Zi /Gm /GZ /Fd..\..\lib\vc_dll\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /c
+# ADD BASE CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswunivud" /Zi /Gm /GZ /Fd..\..\lib\vc_dll\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /D "_UNICODE" /c
+# ADD CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswunivud" /Zi /Gm /GZ /Fd..\..\lib\vc_dll\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /D "_UNICODE" /c
# ADD BASE RSC /l 0x405
# ADD RSC /l 0x405
BSC32=bscmake.exe
@@ -146,8 +146,8 @@ LIB32=link.exe -lib
# PROP Output_Dir "..\..\lib\vc_dll"
# PROP Intermediate_Dir "vc_mswudll\wxregex"
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswu" /Fd..\..\lib\vc_dll\wxregex.pdb /D "WIN32" /D "_LIB" /c
-# ADD CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswu" /Fd..\..\lib\vc_dll\wxregex.pdb /D "WIN32" /D "_LIB" /c
+# ADD BASE CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswu" /Fd..\..\lib\vc_dll\wxregex.pdb /D "WIN32" /D "_LIB" /D "_UNICODE" /c
+# ADD CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswu" /Fd..\..\lib\vc_dll\wxregex.pdb /D "WIN32" /D "_LIB" /D "_UNICODE" /c
# ADD BASE RSC /l 0x405
# ADD RSC /l 0x405
BSC32=bscmake.exe
@@ -169,8 +169,8 @@ LIB32=link.exe -lib
# PROP Output_Dir "..\..\lib\vc_dll"
# PROP Intermediate_Dir "vc_mswuddll\wxregex"
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswud" /Zi /Gm /GZ /Fd..\..\lib\vc_dll\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswud" /Zi /Gm /GZ /Fd..\..\lib\vc_dll\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /c
+# ADD BASE CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswud" /Zi /Gm /GZ /Fd..\..\lib\vc_dll\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /D "_UNICODE" /c
+# ADD CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_dll\mswud" /Zi /Gm /GZ /Fd..\..\lib\vc_dll\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /D "_UNICODE" /c
# ADD BASE RSC /l 0x405
# ADD RSC /l 0x405
BSC32=bscmake.exe
@@ -238,8 +238,8 @@ LIB32=link.exe -lib
# PROP Output_Dir "..\..\lib\vc_lib"
# PROP Intermediate_Dir "vc_mswunivu\wxregex"
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswunivu" /Fd..\..\lib\vc_lib\wxregex.pdb /D "WIN32" /D "_LIB" /c
-# ADD CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswunivu" /Fd..\..\lib\vc_lib\wxregex.pdb /D "WIN32" /D "_LIB" /c
+# ADD BASE CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswunivu" /Fd..\..\lib\vc_lib\wxregex.pdb /D "WIN32" /D "_LIB" /D "_UNICODE" /c
+# ADD CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswunivu" /Fd..\..\lib\vc_lib\wxregex.pdb /D "WIN32" /D "_LIB" /D "_UNICODE" /c
# ADD BASE RSC /l 0x405
# ADD RSC /l 0x405
BSC32=bscmake.exe
@@ -261,8 +261,8 @@ LIB32=link.exe -lib
# PROP Output_Dir "..\..\lib\vc_lib"
# PROP Intermediate_Dir "vc_mswunivud\wxregex"
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswunivud" /Zi /Gm /GZ /Fd..\..\lib\vc_lib\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswunivud" /Zi /Gm /GZ /Fd..\..\lib\vc_lib\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /c
+# ADD BASE CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswunivud" /Zi /Gm /GZ /Fd..\..\lib\vc_lib\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /D "_UNICODE" /c
+# ADD CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswunivud" /Zi /Gm /GZ /Fd..\..\lib\vc_lib\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /D "_UNICODE" /c
# ADD BASE RSC /l 0x405
# ADD RSC /l 0x405
BSC32=bscmake.exe
@@ -330,8 +330,8 @@ LIB32=link.exe -lib
# PROP Output_Dir "..\..\lib\vc_lib"
# PROP Intermediate_Dir "vc_mswu\wxregex"
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswu" /Fd..\..\lib\vc_lib\wxregex.pdb /D "WIN32" /D "_LIB" /c
-# ADD CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswu" /Fd..\..\lib\vc_lib\wxregex.pdb /D "WIN32" /D "_LIB" /c
+# ADD BASE CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswu" /Fd..\..\lib\vc_lib\wxregex.pdb /D "WIN32" /D "_LIB" /D "_UNICODE" /c
+# ADD CPP /nologo /FD /GR /GX /MD /W1 /O1 /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswu" /Fd..\..\lib\vc_lib\wxregex.pdb /D "WIN32" /D "_LIB" /D "_UNICODE" /c
# ADD BASE RSC /l 0x405
# ADD RSC /l 0x405
BSC32=bscmake.exe
@@ -353,8 +353,8 @@ LIB32=link.exe -lib
# PROP Output_Dir "..\..\lib\vc_lib"
# PROP Intermediate_Dir "vc_mswud\wxregex"
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswud" /Zi /Gm /GZ /Fd..\..\lib\vc_lib\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswud" /Zi /Gm /GZ /Fd..\..\lib\vc_lib\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /c
+# ADD BASE CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswud" /Zi /Gm /GZ /Fd..\..\lib\vc_lib\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /D "_UNICODE" /c
+# ADD CPP /nologo /FD /GR /GX /MDd /W1 /Od /GR /GX /I "..\..\include" /I "..\..\lib\vc_lib\mswud" /Zi /Gm /GZ /Fd..\..\lib\vc_lib\wxregexd.pdb /D "WIN32" /D "_LIB" /D "_DEBUG" /D "_UNICODE" /c
# ADD BASE RSC /l 0x405
# ADD RSC /l 0x405
BSC32=bscmake.exe