Boost logo

Boost Users :

Subject: [Boost-users] Building boost 1.37 (Regex with ICU) problem with MSVC9 x64
From: KTC (ktc_at_[hidden])
Date: 2008-11-04 09:40:21


Hi,

I am unable to cleanly fully build boost 1.37 with ICU for regex for x64
on Windows with MSVC++ 2008.

I first tried building with MSVS 2008 SP1 on Windows XP SP3 with ICU
4.0. Building x86 versions first, there were a number of link error, so
I (copy & then) renamed icudt.lib, icuin.lib, icuind.lib, and icuind.pdb
to icudata.lib & icui18n* as a comment suggested on a website I found
via Google. That fixed the x86 errors.

I did the same with the x64 ICU files, and try building, but got 4 link
errors.

D:\boost_1_37_0>bjam --without-mpi --toolset=msvc --build-dir=x64
--build-type=complete -sHAVE_ICU=1 -sICU_PATH="...." stage

Because I had a few post-building error cross building ICU to x64 as it
runs some build'd .exe that obviously can't run on x86 Windows, I
preceeded to try building Boost.Regex on Windows XP x64 SP2 (running
inside VMWare), again with MSVS 2008 SP1.

Cleanly build ICU 4.0, copy & renamed the libs as above, before building:

C:\boost_1_37_0>bjam --with-regex --toolset=msvc --build-type=complete
-sHAVE_ICU=1 -sICU_PATH="C:\icu" stage

The errors that resulted are essentially the same as before.

Any help would be appericated. Thanks.

KTC

--------

WARNING: No python installation configured and autoconfiguration
         failed. See http://www.boost.org/libs/python/doc/building.html
         for configuration instructions or pass --without-python to
         suppress this message and silently skip all Boost.Python targets
Note: Building Boost.Regex with Unicode/ICU support enabled
    Using ICU in C:\icu/include
Skipping build of: ./stage <build>no in common properties
Skipping build of: ./stage <build>no in common properties
Skipping build of: ./stage <build>no in common properties
Skipping build of: ./stage <build>no in common properties
Skipping build of: libs/regex/build/icucore <build>no in common properties
Skipping build of: libs/regex/build/icuin <build>no in common properties
Skipping build of: libs/regex/build/icudata <build>no in common properties
Skipping build of: libs/regex/build/icucore <build>no in common properties
Skipping build of: libs/regex/build/icuin <build>no in common properties
Skipping build of: libs/regex/build/icudata <build>no in common properties
Skipping build of: libs/regex/build/icucore <build>no in common properties
Skipping build of: libs/regex/build/icuin <build>no in common properties
Skipping build of: libs/regex/build/icudata <build>no in common properties
Skipping build of: libs/regex/build/icucore <build>no in common properties
Skipping build of: libs/regex/build/icuin <build>no in common properties
Skipping build of: libs/regex/build/icudata <build>no in common properties
...patience...
...found 704 targets...
...updating 10 targets...
msvc.link.dll
bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.dll
   Creating library
bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.lib
and object
bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.exp
icu.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: virtual __thiscall
icu_4_0::Locale::~Locale(void)" (__imp_??1Locale_at_icu_4_0@@UAE_at_XZ)
referenced in function
__unwindfunclet$??0icu_regex_traits_implementation_at_re_detail_at_boost@@QAE_at_ABVLocale@icu_4_0@@@Z$0
icu.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: static class icu_4_0::Collator * __cdecl
icu_4_0::Collator::createInstance(class icu_4_0::Locale const &,enum
UErrorCode &)"
(__imp_?createInstance_at_Collator@icu_4_0@@SAPAV12_at_ABVLocale@2_at_AAW4UErrorCode@@@Z)
referenced in function "public: __thiscall
boost::re_detail::icu_regex_traits_implementation::icu_regex_traits_implementation(class
icu_4_0::Locale const &)"
(??0icu_regex_traits_implementation_at_re_detail_at_boost@@QAE_at_ABVLocale@icu_4_0@@@Z)
icu.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: __thiscall icu_4_0::Locale::Locale(class
icu_4_0::Locale const &)" (__imp_??0Locale_at_icu_4_0@@QAE_at_ABV01@@Z)
referenced in function "public: __thiscall
boost::re_detail::icu_regex_traits_implementation::icu_regex_traits_implementation(class
icu_4_0::Locale const &)"
(??0icu_regex_traits_implementation_at_re_detail_at_boost@@QAE_at_ABVLocale@icu_4_0@@@Z)
icu.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: __thiscall icu_4_0::Locale::Locale(void)"
(__imp_??0Locale_at_icu_4_0@@QAE_at_XZ) referenced in function "public:
__thiscall boost::icu_regex_traits::icu_regex_traits(void)"
(??0icu_regex_traits_at_boost@@QAE_at_XZ)
icu.obj : error LNK2019: unresolved external symbol _u_tolower_4_0
referenced in function "public: unsigned __int64 __thiscall
boost::icu_regex_traits::lookup_classname(int const *,int const *)const
" (?lookup_classname_at_icu_regex_traits_at_boost@@QBE_KPBH0_at_Z)
icu.obj : error LNK2019: unresolved external symbol _u_toupper_4_0
referenced in function "public: int __thiscall
boost::icu_regex_traits::toupper(int)const "
(?toupper_at_icu_regex_traits_at_boost@@QBEHH_at_Z)
icu.obj : error LNK2019: unresolved external symbol _u_digit_4_0
referenced in function "public: bool __thiscall
boost::icu_regex_traits::isctype(int,unsigned __int64)const "
(?isctype_at_icu_regex_traits_at_boost@@QBE_NH_K_at_Z)
icu.obj : error LNK2019: unresolved external symbol _u_isspace_4_0
referenced in function "public: unsigned __int64 __thiscall
boost::icu_regex_traits::lookup_classname(int const *,int const *)const
" (?lookup_classname_at_icu_regex_traits_at_boost@@QBE_KPBH0_at_Z)
icu.obj : error LNK2019: unresolved external symbol _u_charFromName_4_0
referenced in function "public: class std::vector<int,class
std::allocator<int> > __thiscall
boost::icu_regex_traits::lookup_collatename(int const *,int const
*)const "
(?lookup_collatename_at_icu_regex_traits_at_boost@@QBE?AV?$vector_at_HV?$allocator_at_H@std@@@std@@PBH0_at_Z)
icu.obj : error LNK2019: unresolved external symbol _u_isblank_4_0
referenced in function "public: bool __thiscall
boost::icu_regex_traits::isctype(int,unsigned __int64)const "
(?isctype_at_icu_regex_traits_at_boost@@QBE_NH_K_at_Z)
icu.obj : error LNK2019: unresolved external symbol _u_charType_4_0
referenced in function "public: bool __thiscall
boost::icu_regex_traits::isctype(int,unsigned __int64)const "
(?isctype_at_icu_regex_traits_at_boost@@QBE_NH_K_at_Z)
bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.dll
: fatal error LNK1120: 11 unresolved externals

        call "C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\vcvarsall.bat" x86 >nul
link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /subsystem:console
/out:"bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.dll"
/IMPLIB:"bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.lib"
/LIBPATH:"C:\icu\lib"
@"bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.dll.rsp"
        if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
        if exist
"bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.dll.manifest"
(
            mt -nologo -manifest
"bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.dll.manifest"
"-outputresource:bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.dll;2"
        )

...failed msvc.link.dll
bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.dll
bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.lib...
...removing
bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_37.lib
...skipped <pstage\lib>boost_regex-vc90-mt-gd-1_37.dll for lack of
<pbin.v2\libs\regex\build\msvc-9.0\debug\threading-multi>boost_regex-vc90-mt-gd-1_37.dll...
...skipped <pstage\lib>boost_regex-vc90-mt-gd-1_37.lib for lack of
<pbin.v2\libs\regex\build\msvc-9.0\debug\threading-multi>boost_regex-vc90-mt-gd-1_37.lib...
...skipped <pstage\lib>boost_regex-vc90-mt-gd.lib for lack of
<pstage\lib>boost_regex-vc90-mt-gd-1_37.lib...
msvc.link.dll
bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.dll
   Creating library
bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.lib
and object
bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.exp
icu.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: __thiscall icu_4_0::Locale::Locale(class
icu_4_0::Locale const &)" (__imp_??0Locale_at_icu_4_0@@QAE_at_ABV01@@Z)
referenced in function "public: class icu_4_0::Locale __thiscall
boost::re_detail::icu_regex_traits_implementation::getloc(void)const "
(?getloc_at_icu_regex_traits_implementation_at_re_detail_at_boost@@QBE?AVLocale_at_icu_4_0@@XZ)
icu.obj : error LNK2019: unresolved external symbol _u_tolower_4_0
referenced in function "public: int __thiscall
boost::icu_regex_traits::translate_nocase(int)const "
(?translate_nocase_at_icu_regex_traits_at_boost@@QBEHH_at_Z)
icu.obj : error LNK2019: unresolved external symbol _u_toupper_4_0
referenced in function "public: int __thiscall
boost::icu_regex_traits::toupper(int)const "
(?toupper_at_icu_regex_traits_at_boost@@QBEHH_at_Z)
icu.obj : error LNK2019: unresolved external symbol _u_digit_4_0
referenced in function "public: int __thiscall
boost::icu_regex_traits::value(int,int)const "
(?value_at_icu_regex_traits_at_boost@@QBEHHH_at_Z)
icu.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: __thiscall icu_4_0::Locale::Locale(void)"
(__imp_??0Locale_at_icu_4_0@@QAE_at_XZ) referenced in function "public: class
icu_4_0::Locale __thiscall boost::icu_regex_traits::getloc(void)const "
(?getloc_at_icu_regex_traits_at_boost@@QBE?AVLocale_at_icu_4_0@@XZ)
icu.obj : error LNK2019: unresolved external symbol _u_isspace_4_0
referenced in function "public: bool __thiscall
boost::icu_regex_traits::isctype(int,unsigned __int64)const "
(?isctype_at_icu_regex_traits_at_boost@@QBE_NH_K_at_Z)
icu.obj : error LNK2019: unresolved external symbol _u_isblank_4_0
referenced in function "public: bool __thiscall
boost::icu_regex_traits::isctype(int,unsigned __int64)const "
(?isctype_at_icu_regex_traits_at_boost@@QBE_NH_K_at_Z)
icu.obj : error LNK2019: unresolved external symbol _u_charType_4_0
referenced in function "public: bool __thiscall
boost::icu_regex_traits::isctype(int,unsigned __int64)const "
(?isctype_at_icu_regex_traits_at_boost@@QBE_NH_K_at_Z)
icu.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: virtual __thiscall
icu_4_0::Locale::~Locale(void)" (__imp_??1Locale_at_icu_4_0@@UAE_at_XZ)
referenced in function "public: __thiscall
boost::re_detail::icu_regex_traits_implementation::~icu_regex_traits_implementation(void)"
(??1icu_regex_traits_implementation_at_re_detail_at_boost@@QAE_at_XZ)
icu.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: static class icu_4_0::Collator * __cdecl
icu_4_0::Collator::createInstance(class icu_4_0::Locale const &,enum
UErrorCode &)"
(__imp_?createInstance_at_Collator@icu_4_0@@SAPAV12_at_ABVLocale@2_at_AAW4UErrorCode@@@Z)
referenced in function "public: __thiscall
boost::re_detail::icu_regex_traits_implementation::icu_regex_traits_implementation(class
icu_4_0::Locale const &)"
(??0icu_regex_traits_implementation_at_re_detail_at_boost@@QAE_at_ABVLocale@icu_4_0@@@Z)
icu.obj : error LNK2019: unresolved external symbol _u_charFromName_4_0
referenced in function "public: class std::vector<int,class
std::allocator<int> > __thiscall
boost::icu_regex_traits::lookup_collatename(int const *,int const
*)const "
(?lookup_collatename_at_icu_regex_traits_at_boost@@QBE?AV?$vector_at_HV?$allocator_at_H@std@@@std@@PBH0_at_Z)
bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.dll
: fatal error LNK1120: 11 unresolved externals

        call "C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\vcvarsall.bat" x86 >nul
link /NOLOGO /INCREMENTAL:NO /DLL /subsystem:console
/out:"bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.dll"
/IMPLIB:"bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.lib"
/LIBPATH:"C:\icu\lib"
@"bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.dll.rsp"
        if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
        if exist
"bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.dll.manifest"
(
            mt -nologo -manifest
"bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.dll.manifest"
"-outputresource:bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.dll;2"
        )

...failed msvc.link.dll
bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.dll
bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.lib...
...removing
bin.v2\libs\regex\build\msvc-9.0\release\threading-multi\boost_regex-vc90-mt-1_37.lib
...skipped <pstage\lib>boost_regex-vc90-mt-1_37.dll for lack of
<pbin.v2\libs\regex\build\msvc-9.0\release\threading-multi>boost_regex-vc90-mt-1_37.dll...
...skipped <pstage\lib>boost_regex-vc90-mt-1_37.lib for lack of
<pbin.v2\libs\regex\build\msvc-9.0\release\threading-multi>boost_regex-vc90-mt-1_37.lib...
...skipped <pstage\lib>boost_regex-vc90-mt.lib for lack of
<pstage\lib>boost_regex-vc90-mt-1_37.lib...
...failed updating 4 targets...
...skipped 6 targets...

-- 
Experience is a good school but the fees are high.
    - Heinrich Heine

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net