Building Boost with MS Platform SDK AMD64 Cross-compiler
This post has been pretty hastily put together. I intend to change this over time and document how I built Boost libraries from source using the Microsoft Platform SDK 2003, for the x64 platform (AMD64 / EM64T).
1. Boost 1.31 - had to choose this rather older release because of certain constraints that our product has.
2. Microsoft Platform SDK 2003 R1. (Installed at "C:\Program Files\Microsoft Platform SDK") - no Visual Studio installation exists.
3. Using Boost.Build V1 rather than 2. Here is a mssdk-amd64-tools.jam file I created using the msvc-tools.jam at the following location under the Boost source dir:
boost_1_31_0\tools\build\v1
--- begin file
# Microsoft Platform SDK
# (C) Copyright David Abrahams 2001. Permission to copy, use,
# modify, sell and distribute this software is granted provided this
# copyright notice appears in all copies. This software is provided
# "as is" without express or implied warranty, and with no claim as
# to its suitability for any purpose.
# The following #// line will be used by the regression test table generation
# program as the column heading for HTML tables. Must not include version number.
#//Micro-
soft
VC++
# singleton variables...
set-as-singleton TARGETOS APPVER MSSdk VISUALC MSSDK_ROOT VC_TOOL_PATH VC_SETUP ;
# Get these variable set on the targets so that we can re-use the
# build actions for other toolsets using this one as a base.
flags mssdk VC_TOOL_PATH ;
flags mssdk VC_SETUP ;
flags mssdk VC_COMPILER ;
flags mssdk VC_LINKER ;
flags mssdk VC_PDB_NAME ;
# compute MSVC tool path
# You can either put the msvc bin directory in your PATH, or you can set
# MSVCDir to point at the msvc installation directory
# Some installations set MSSDK instead of MSSdk; who knows why?
MSSdk ?= $(MSSDK) ;
# If TARGETOS is not set the user hasn't run VCVARS32.BAT
if ! $(TARGETOS)
{
# In case someone set VISUALC in order to build Jam, we can just use that.
# MSSDK_ROOT ?= $(VISUALC) ;
# Otherwise, guess a standard installation directory
ProgramFiles ?= $(PROGRAMFILES) ;
MSSDK_ROOT ?= $(ProgramFiles:J=" ")"\\Microsoft Platform SDK" ;
# Reconstitutes paths containing spaces
MSSDK_ROOT = $(MSSDK_ROOT:J=" ") ;
# The tools are provisionallly located in the msvc6 bin
# directory. This may be overridden by toolsets which extend this
# one.
VC_TOOL_PATH = "$(MSSDK_ROOT)"$(SLASH)bin$(SLASH)win64$(SLASH)x86$(SLASH)AMD64$(SLASH) ;
# Always call VCVARS32.BAT before invoking the tools
VC_SETUP = "CALL \"$(VC_TOOL_PATH)..$(SLASH)..$(SLASH)..$(SLASH)..$(SLASH)SetEnv.Cmd\" /X64 >nul" ;
}
else
{
# Reconstitutes paths containing spaces
MSSdk = $(MSSdk:J=" ") ;
# Don't clobber adjoining text or use explicit paths if MSVCDir is already set
VC_TOOL_PATH = "" ;
}
VC_COMPILER = cl.exe ;
VC_LINKER = link.exe ;
VC_PDB_NAME = vc60 ;
VC_STDLIB_PATH = ;
flags mssdk CFLAGSon/ object : /Z7 ;
flags mssdk CFLAGSon/ database : /Zi ;
flags mssdk PDB_CFLAGon/ database : /Fd ;
flags mssdk PDB_LINKFLAGon/ database : /PDB: ;
flags mssdk LINKFLAGSon : /DEBUG ;
# The linker disables the default optimizations when using /DEBUG. Whe have
# to enable them manually for release builds with debug symbols.
# flags msvc LINKFLAGSon/ release : /OPT:REF,ICF ;
flags mssdk CFLAGSspeed : /O2 /Gs ;
flags mssdk CFLAGSoff : /Od ;
flags mssdk CFLAGSspace : /O1 /Gs ;
flags mssdk CFLAGSoff : /Ob0 ;
flags mssdk CFLAGSon : /Ob1 ;
flags mssdk CFLAGSfull : /Ob2 ;
flags mssdk CFLAGSon : /EHsc ;
flags mssdk CFLAGSon : /GR ;
# Note that these two options actually imply multithreading support on MSVC
# because there is no single-threaded dynamic runtime library. Specifying
#multi would be a bad idea, though, because no option would be
# matched when the build uses the default settings ofdynamic
# andsingle.
flags mssdk CFLAGSrelease/ dynamic : /MD ;
flags mssdk CFLAGSdebug/ dynamic : /MDd ;
# flags mssdk CFLAGSrelease/ static/ single : /ML ;
# flags mssdk CFLAGSdebug/ static/ single : /MLd ;
flags mssdk CFLAGSrelease/ static/ multi : /MT ;
flags mssdk CFLAGSdebug/ static/ multi : /MTd ;
flags mssdk CFLAGS;
# flags mssdk CFLAGS /O2 ;
flags mssdk C++FLAGS;
flags mssdk C++FLAGS : /Zc:forScope ;
feature native-wchar_t : on off ;
flags mssdk C++FLAGSon : /Zc:wchar_t ;
flags mssdk DEFINES;
flags mssdk UNDEFS;
flags mssdk HDRS;
flags mssdk CRTSTDHDRS;
flags mssdk STDHDRS;
flags mssdk LINKFLAGS;
flags mssdk ARFLAGS;
flags mssdk STDHDRS : $(MSSdk)$(SLASH)include ;
flags mssdk CRTSTDHDRS : $(MSSdk)$(SLASH)include$(SLASH)crt ;
flags mssdk STDLIBPATH : $(MSSdk)$(SLASH)lib$(SLASH)AMD64 ;
flags mssdk LIBPATH;
flags mssdk NEEDLIBS;
flags mssdk FINDLIBS;
flags mssdk LINKFLAGS$(SHARED_TYPES) : /DLL ;
flags mssdk LINKFLAGSconsole : /subsystem:console ;
flags mssdk LINKFLAGSgui : /subsystem:windows ;
flags mssdk LINKFLAGSwince : /subsystem:windowsce ;
flags mssdk LINKFLAGSnative : /subsystem:native ;
flags mssdk LINKFLAGSauto : /subsystem:posix ;
flags mssdk LINKFLAGSx64 : /machine:AMD64 ;
flags mssdk LINKLIBS kernel32.lib user32.lib gdi32.lib ;
rule vc-set-pdb-file ( targets + : name )
{
local pdb = $(targets[1]:B=$(name):S=.pdb) ;
VC_PDB_FILE on $(targets) = $(pdb:G=:R=$(LOCATE_TARGET)) ;
LOCATE on $(pdb) = $(LOCATE_TARGET) ;
Clean clean : $(pdb) ;
}
#### Link ####
rule Link-action ( target implib ? : sources + : target-type ? )
{
with-command-file vc-Link $(<) : $(sources) $(NEEDLIBS) ;
gRUN_PATH($(<)) += $(VC_STDLIB_PATH) ;
if $(implib)
{
# incremental linking a DLL causes no end of problems: if the
# actual exports don't change, the import .lib file is never
# updated. Therefore, the .lib is always out-of-date and gets
# rebuilt every time. I'm not sure that incremental linking is
# such a great idea in general, but in this case I'm sure we
# don't want it.
NOINCREMENTAL on $(<) = /INCREMENTAL:NO ;
}
vc-set-pdb-file $(<) : $(target:B) ;
}
actions together vc-Link
{
$(VC_SETUP)
"$(VC_TOOL_PATH)$(VC_LINKER)" /nologo $(NOINCREMENTAL) $(LINKFLAGS) $(PDB_LINKFLAG)"$(VC_PDB_FILE)" /out:"$(<[1])" /IMPLIB:"$(<[2])" /LIBPATH:"$(LIBPATH)" /LIBPATH:"$(STDLIBPATH)" bufferoverflowU.lib $(LINKLIBS) "$(FINDLIBS:S=.lib)" @"$(>)"
}
#### Cc #####
rule Cc-action
{
vc-set-pdb-file $(<) : $(VC_PDB_NAME) ;
vc-Cc $(<) : $(>) ;
}
actions vc-Cc
{
$(VC_SETUP)
"$(VC_TOOL_PATH)$(VC_COMPILER)" /Zm800 -nologo -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(CRTSTDHDRS)" -I"$(STDHDRS)" $(PDB_CFLAG)"$(VC_PDB_FILE)" -Fo"$(<)" "$(>)"
}
#### C++ ####
rule C++-action
{
vc-set-pdb-file $(<) : $(VC_PDB_NAME) ;
vc-C++ $(<) : $(>) ;
}
actions vc-C++
{
$(VC_SETUP)
"$(VC_TOOL_PATH)$(VC_COMPILER)" /Zm800 -nologo /EHsc -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(CRTSTDHDRS)" -I"$(STDHDRS)" $(PDB_CFLAG)"$(VC_PDB_FILE)" -Fo"$(<)" -Tp"$(>)"
}
#### Archive ####
rule Archive-action
{
vc-set-pdb-file $(<) : $(<:B) ;
with-command-file vc-Archive $(<) : $(>) ;
}
actions vc-Archive
{
$(VC_SETUP)
if exist "$(<)" DEL "$(<)"
"$(VC_TOOL_PATH)$(VC_LINKER)" /lib $(ARFLAGS) $(PDB_LINKFLAG)"$(VC_PDB_FILE)" /out:"$(<)" @"$(>)" /machine:AMD64
}
--- end file
4. Everything seems to build fine except Boost.Regex. This fails while linking - apparently it cannot find a large number of template specializations of standard library classes for wchar_t.
The errors are shown below.
- Any idea why these symbols are not available.
- Is there a way I can turn off building Unicode support for Boost.Regex - can undef-ing BOOST_NO_WREGEX be of any help or should it be done with some other preprocessor symbol.
Errors:
vc-C++ bin\boost\libs\regex\build\boost_regex.dll\mssdk-amd64\debug\winstances.obj
winstances.cpp
Unknown compiler version - please run the configure tests and report the results
vc-Link bin\boost\libs\regex\build\boost_regex.dll\mssdk-amd64\debug\boost_regex-mssdk-gd-1_31.dll bin\boost\libs\regex\build\boost_regex.dll\mssdk-amd64\debug\boost_regex-mssdk-gd-1_31.lib
Creating library bin\boost\libs\regex\build\boost_regex.dll\mssdk-amd64\debug\boost_regex-mssdk-gd-1_31.lib and object bin\boost\libs\regex\build\boost_regex.dll\mssdk-amd64\debug\boost_regex-mssdk-gd-1_31.exp
wide_posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z)
instances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z)
winstances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z)
posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z)
regex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z)
regex_debug.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z) referenced in function "void __cdecl regex_lib_print_compiler_macros(void)" (?regex_lib_print_compiler_macros@@YAXXZ)
w32_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z)
c_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z)
c_regex_traits_common.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z)
cpp_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z)
cregex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t __cdecl std::ctype::tolower(wchar_t)const " (__imp_?tolower@?$ctype@_W@std@@QEBA_W_W@Z)
wide_posix_api.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ) referenced in function "public: static wchar_t __cdecl boost::w32_regex_traits ::translate(wchar_t,bool)" (?translate@?$w32_regex_traits@_W@boost@@SA_W_W_N@Z)
instances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ)
winstances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ)
posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ)
regex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ)
regex_debug.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ)
w32_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ)
c_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ)
c_regex_traits_common.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ)
cpp_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ)
cregex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::~basic_string ,class std::allocator >(void)" (__imp_??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ)
wide_posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z)
instances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z)
winstances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z)
posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z)
regex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z)
regex_debug.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z) referenced in function "void __cdecl regex_lib_print_compiler_macros(void)" (?regex_lib_print_compiler_macros@@YAXXZ)
w32_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z)
c_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z)
c_regex_traits_common.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z)
cpp_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z)
cregex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(class std::basic_string ,class std::allocator > const &)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z)
wide_posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z)
instances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z)
winstances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z)
posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z)
regex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z)
regex_debug.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z) referenced in function "void __cdecl regex_lib_print_compiler_macros(void)" (?regex_lib_print_compiler_macros@@YAXXZ)
w32_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z)
c_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z)
c_regex_traits_common.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z)
cpp_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z)
cregex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > __cdecl std::collate ::transform(wchar_t const *,wchar_t const *)const " (__imp_?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z)
wide_posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ)
instances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ)
winstances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ)
posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ)
regex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ)
regex_debug.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ) referenced in function "void __cdecl regex_lib_print_compiler_macros(void)" (?regex_lib_print_compiler_macros@@YAXXZ)
w32_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ)
c_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ)
c_regex_traits_common.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ)
cpp_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ)
cregex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl std::basic_string,class std::allocator >::size(void)const " (__imp_?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ)
wide_posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ)
instances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ)
winstances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ)
posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ)
regex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ)
regex_debug.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ) referenced in function "void __cdecl regex_lib_print_compiler_macros(void)" (?regex_lib_print_compiler_macros@@YAXXZ)
w32_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ)
c_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ)
c_regex_traits_common.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ)
cpp_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ)
cregex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __cdecl std::basic_string,class std::allocator >::c_str(void)const " (__imp_?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ)
wide_posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z)
instances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z)
winstances.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z)
posix_api.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z)
regex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z)
regex_debug.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z) referenced in function "void __cdecl regex_lib_print_compiler_macros(void)" (?regex_lib_print_compiler_macros@@YAXXZ)
w32_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z)
c_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z)
c_regex_traits_common.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z)
cpp_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z)
cregex.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl std::ctype::is(short,wchar_t)const " (__imp_?is@?$ctype@_W@std@@QEBA_NF_W@Z)
c_regex_traits.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::append(unsigned __int64,wchar_t)" (__imp_?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K_W@Z) referenced in function "public: static bool __cdecl boost::c_regex_traits ::lookup_collatename(class std::basic_string ,class std::allocator > &,wchar_t const *,wchar_t const *)" (?lookup_collatename@?$c_regex_traits@_W@boost@@SA_NAEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PEB_W1@Z)
cpp_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::append(unsigned __int64,wchar_t)" (__imp_?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K_W@Z)
w32_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::append(unsigned __int64,wchar_t)" (__imp_?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K_W@Z)
c_regex_traits.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(wchar_t const *)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@PEB_W@Z) referenced in function "public: static bool __cdecl boost::c_regex_traits ::lookup_collatename(class std::basic_string ,class std::allocator > &,wchar_t const *,wchar_t const *)" (?lookup_collatename@?$c_regex_traits@_W@boost@@SA_NAEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PEB_W1@Z)
w32_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string,class std::allocator > & __cdecl std::basic_string ,class std::allocator >::operator=(wchar_t const *)" (__imp_??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@PEB_W@Z)
c_regex_traits.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator >::basic_string ,class std::allocator >(wchar_t const *,wchar_t const *,class std::allocator const &)" (__imp_??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@PEB_W0AEBV?$allocator@_W@1@@Z) referenced in function "public: static bool __cdecl boost::c_regex_traits ::lookup_collatename(class std::basic_string ,class std::allocator > &,wchar_t const *,wchar_t const *)" (?lookup_collatename@?$c_regex_traits@_W@boost@@SA_NAEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PEB_W1@Z)
cpp_regex_traits.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string,class std::allocator