我正在尝试针对自定义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的任何想法?谢谢
对于我来说,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吧!使用相同的编译器进行构建。