「Boost.Locale のビルド」手順を使用して、Boost::Locale (Boost バージョン 1.56) をビルドしようとしています。まず、数か月前に完全な Boost ライブラリのインストールに成功しました。これにより、多数の Boost::Locale .dll および .lib ファイルが作成されました。
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
今日、ICU4C 53.1 をダウンロードしてビルドしました (デバッグとリリースの両方)。次のディレクトリをコンピューター パスに追加しました。
d:\icu\bin
次に、ICU テストを実行しましたが、問題なく実行されました。
次に、Boost::Locale を ICU にリンクしようとしましたが、Locale のインストール手順に示されているように、次のことを行いました。
コマンドプロンプトから、次のように入力しました。
.\bjam -sICU_PATH=d:\icu --with-locale stage
構築中であることを示し、画面に「...忍耐...1214個のターゲットが見つかりました...」と表示されました
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...
この時点では、どの「ターゲット」が更新されたのかわからないため、サポートされているバックエンドを確認するためにget_all_backends()を使用して小さなテスト アプリを作成しました。残念ながら、winapiとstdしかリストされていませんでした。
誰かが何がうまくいかなかったのかを示唆できますか?
アップデート
Locale jam ファイルを開くと、次のようになります。
searched-lib icudt : : <search>$(ICU_PATH)/lib
<name>icudata
<link>shared
<runtime-link>shared ;
これについてはよくわかりませんが、上記のスニペットはicudtを参照しており、dllファイルにICUのバージョンが追加されていることに気付きました.icudt
追加されたバージョン、つまりicudt53に一致するように参照を更新し、何が起こるかを確認します。