【问题标题】:Build boost.locale with icu on OS X在 OS X 上使用 icu 构建 boost.locale
【发布时间】:2014-08-16 11:08:08
【问题描述】:

我正在尝试针对自定义 ICU 构建构建 boost.locale。我已经在 /opt/icu53.1 中下载并构建了 ICU 作为静态库。但是,当我尝试构建 boost.locale 时,它​​抱怨它找不到 ICU。

./b2 toolset=clang -sICU_PATH=/opt/icu53.1 --with-locale boost.locale.iconv=off boost.locale.icu=on stage 

  Boost.Locale needs either iconv or ICU library to be built

我尝试在 /opt/icu53.1_dynamic 中将 ICU 构建为动态库。但是,即使有了这些,boost 也看不到 ICU

./b2 toolset=clang -sICU_PATH=/opt/icu53.1dynamic --with-locale boost.locale.iconv=off boost.locale.icu=on stage
 Boost.Locale needs either iconv or ICU library to be built

关于如何在指定位置看到 ICU 的任何想法?谢谢

【问题讨论】:

  • 你试过b2的--reconfigure选项吗?我认为否则它会缓存“icu:no”。
  • 嗨亚瑟,感谢您的评论。自从我尝试过这个已经有一段时间了(我不再在我的项目中使用 ICU)。如果我重新尝试提升,我会尝试一下

标签: c++ boost


【解决方案1】:

对我来说,为 Boost 1.64.0 工作:

./bootstrap.sh \
    --with-icu=${ICU_DIR} \
    --prefix=${BOOST_PREFIX};

./b2 \
    --prefix=${BOOST_PREFIX} \
    --reconfigure boost.locale.iconv=off boost.locale.icu=on \
    -sICU_PATH=${ICU_DIR};

对于 Boost 1.74.0:

./bootstrap.sh \
    toolset=darwin \
    macosx-version=${VALUE_MACOS_VERSION} \
    macosx-version-min=${VALUE_MACOS_MIN_VERSION} \
    --with-icu=${ICU_DIR};

./b2 \
    toolset=darwin \
    cxxflags="$VALUE_CXXFLAGS" \
    linkflags="$VALUE_LINKFLAGS" \
    optimization=speed \
    --reconfigure boost.locale.iconv=off boost.locale.icu=on \
    --prefix=${BOOST_PREFIX} \
    --stagedir=${BOOST_PREFIX} \
    -sICU_PATH=${ICU_DIR};

除了所有的ICU应该!使用相同的编译器进行构建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    • 2014-10-21
    相关资源
    最近更新 更多