On 26/02/2020 19:09, Eko palypse via Boost-users wrote:
> I'm confused about the different post I've found on the web therefore
> would appreciate
> if someone could answer if it is possible to build a static regex
> library with ICU support on windows?
Yes of course, the trick is to tell b2 where to find ICU, using the
latest ICU x64 release I just built with ICU support and:
cd boost-root-directory.
./b2 --reconfigure -a --with-regex -sICU_PATH='D:\some-path\icu-65.1'
address-model=64 --build-type=complete
The --reconfigure -a options are only required if you have a
stale/failed build already lurking on your HD.
Note that this assumes that you have both debug and release builds of
ICU available - if you downloaded the ICU binaries they only provide
release builds, and the above will fail and you will see ICU not
detected and a message:
- has_icu builds : no
You can find out what went wrong by inspecting
boost-root/bin.v2/config.txt, but in this telling the build script what
names the ICU binaries have fixed things:
./b2 --reconfigure --with-regex -sICU_PATH='D:\some-path\icu-65.1'
-sICU_ICUIN_NAME=icuin -sICU_ICUUC_NAME=icuuc -j6 address-model=64
--build-type=complete
Note that these options require Boost-1.72.
And finally.... for all Boost releases, please remember that Boost.Regex
is "just a bunch of source files", you can always build everything in
libs/regex/src/*.cpp as a static library using whatever build system and
compiler you wish - there is no great magic going on. For msvc you will
need to define BOOST_REGEX_NO_LIB when using a custom built binary to
avoid the auto-linking kicking in and looking for a specifically named
binary. And also define BOOST_HAS_ICU when building the binary so it
includes ICU support.
HTH, John.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost-users