Reputation: 918
I'm trying to build Boost::Locale (Boost version 1.56) using the 'Building Boost.Locale' instructions. Firstly, I successfully installed the complete Boost library a few months ago, which created a number of Boost::Locale .dll & .lib files:
boost_locale-vc120-mt-1_56.dll
boost_locale-vc120-mt-1_56.lib
boost_locale-vc120-mt-gd-1_56.dll
boost_locale-vc120-mt-gd-1_56.lib
Today, I downloaded ICU4C 53.1 and built it (both debug and release). I added the following directory to my computer path:
d:\icu\bin
Next, I ran the ICU tests and they ran fine.
Then I tried to link Boost::Locale with ICU and did the following as indicated in the Locale installation directions:
From the command prompt, I typed:
.\bjam -sICU_PATH=d:\icu --with-locale stage
It indicated that it was building and displayed '...patience...found 1214 targets...' on screen
Here are the results of D:\boost_1_56_0\bin.v2\config.log:
...found 1 target...
...updating 1 target...
config-cache.write bin.v2\project-cache.jam
...updated 1 target...
At this point, I don't know what 'target' got updated so I created a small test app using get_all_backends() to see what backends were being supported. Unfortunately, only winapi and std were listed.
Can someone suggest what may have gone wrong?
UPDATE
Upon opening up the Locale jam file:
searched-lib icudt : : <search>$(ICU_PATH)/lib
<name>icudata
<link>shared
<runtime-link>shared ;
I am not sure about this but the snippet above refers to icudt and I noticed that the dll files have the version of ICU appended, i.e.: icudt
I'm going to update the references to match the appended version, i.e.: icudt53 and see what happens.
Upvotes: 0
Views: 564
Reputation: 918
I got Boost Locale working fine, but for some reason, I could never do it using the Boost Locale instructions. If the Boost Locale installation instructions work for you, good. If not, you can do what I did and do a complete rebuild of Boost.
The following assumes that you have correctly built ICU and included it into your path.
change directory to boost root, e.g.: d:\boost_1_56_0
type: bootstrap
bjam -sICU_PATH=d:\icu --toolset=msvc-12.0 --build-type=complete stage
The above worked just fine for me. Just make sure to specify the version of VC++, in my case above 12.0
Upvotes: 1