在OS X上使用icu构建boost.locale

时间:2014-06-25 18:46:39

标签: c++ boost

我正在尝试针对自定义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构建为动态库。但是,即使使用这些

,也不会看到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的提升的任何想法?感谢

1 个答案:

答案 0 :(得分:0)

对于我来说,在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都应该!使用相同的编译器进行构建。