boost::locale 1.57.0 和 Windows 下的 ICU 库 54.1 (VC++ 2010)

Posted

技术标签:

【中文标题】boost::locale 1.57.0 和 Windows 下的 ICU 库 54.1 (VC++ 2010)【英文标题】:boost::locale 1.57.0 with ICU library 54.1 under Windows (VC++ 2010) 【发布时间】:2015-01-26 09:12:26 【问题描述】:

我正在尝试在 Windows 8.1 下使用 ICU 库支持 54.1 构建 Boost::locale 1.57.0。我在 C:\icu 上有一个库,文件如下:

C:\icu\lib64

icudt.exp
icudt.lib
icuin.exp
icuin.lib
icuio.exp
icuio.lib
...

C:\icu\include\unicode
C:\icu\include\layout
...

我运行了以下内容:

$ bootstrap

$ .\b2 -sICU_PATH=C:\icu -j4 --toolset=msvc-10.0 address-model=64 --build-type=complete stage

但后来我收到以下消息:

- zlib                     : no
- iconv (libc)             : no
- iconv (separate)         : no
- icu                      : no
- icu (lib64)              : no
- message-compiler         : yes

这些消息意味着我根本不会获得 ICU 支持?这可能是什么问题?

【问题讨论】:

【参考方案1】:

我也有同样的问题。但是我能够通过引用 here 来编译 Boost.Locale。所以基本上我所做的是:

bjam --with-locale -sICU_PATH=C:\icu stage link=static,shared

它找到了 ICU 并能够创建 staticshared 文件。 希望这会有所帮助。

【讨论】:

以上是关于boost::locale 1.57.0 和 Windows 下的 ICU 库 54.1 (VC++ 2010)的主要内容,如果未能解决你的问题,请参考以下文章

使用 iconv 为 iOS 构建 Boost.Locale

如何为 android 构建 boost::locale

boost::locale::transform 的可移植使用

将 boost locale 与 Firebreath 一起使用

用于字符串编码的 boost::locale to_utf 函数,喜欢抛出

获取 boost::locale::conv 中函数的用户代码页名称