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

geo*_*emp 6 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
Run Code Online (Sandbox Code Playgroud)

我尝试在/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
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*lov 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};
Run Code Online (Sandbox Code Playgroud)

对于 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};
Run Code Online (Sandbox Code Playgroud)

旁边应该都是ICU吧!使用相同的编译器进行构建。