c++ - 没有 icu 的建筑 boost

标签 c++ boost build solaris

我想在不使用 icu 库的情况下在 Solaris 10 上构建 boost 正则表达式。

在没有 icu 支持的情况下构建 boost regex 之后

./bootstrap.sh --without-icu
./b2 --disable-icu

生成的库仍然需要 icu,当我用 ldd 检查时:

ldd libboost_regex.so.1.56.0
    libicui18n.so.52 =>      /opt/csw/lib/64/libicui18n.so.52
    libicudata.so.52 =>      /opt/csw/lib/64/libicudata.so.52
    libicuuc.so.52 =>        /opt/csw/lib/64/libicuuc.so.52
    libstdc++.so.6 =>        /opt/csw/lib/64/libstdc++.so.6
    libm.so.2 =>     /lib/64/libm.so.2
    librt.so.1 =>    /lib/64/librt.so.1
    libgcc_s.so.1 =>         /opt/csw/lib/64/libgcc_s.so.1
    libpthread.so.1 =>       /lib/64/libpthread.so.1
    libc.so.1 =>     /lib/64/libc.so.1
    libCrun.so.1 =>  /usr/lib/64/libCrun.so.1
    libCstd.so.1 =>  /usr/lib/64/libCstd.so.1
    libaio.so.1 =>   /lib/64/libaio.so.1
    libmd.so.1 =>    /lib/64/libmd.so.1
    /platform/SUNW,SPARC-Enterprise-T5220/lib/sparcv9/libc_psr.so.1
    /platform/SUNW,SPARC-Enterprise-T5220/lib/sparcv9/libmd_psr.so.1

问题:如何防止 boost 链接 icu 库?

最佳答案

我在 Linux 中的 ICU 遇到了类似的问题。我通过在重建 Boost 之前清理源文件夹来解决这个问题。以下是我的构建命令

./bootstrap.sh --prefix=$BOOST_PREFIX --without-icu
./b2 clean
./b2 headers
./b2 -j7 --disable-icu --ignore-site-config variant=release threading=multi install

以及ldd命令的输出

% ldd boost/lib/libboost_regex.so.1.61.0
    linux-vdso.so.1 =>  (0x00007fffc28be000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f6a31a48000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6a31741000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6a314be000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6a312a8000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6a3108c000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6a30d00000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f6a31f7f000)

关于c++ - 没有 icu 的建筑 boost ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31138251/

相关文章:

linux - 在 CentOS 7 上构建调试版本的 Boost

c++ - 了解简写 C++

C++ getline() 和文件 EOF

c++ - CUDA Thrust sort_by_key 的内存节省替代方案?

c++ - 如何在 boost asio 中设置阻塞套接字的超时时间?

java - 必须在项目中设置 build.dir 错误

c++ - Visual Studio 中 MIDL 编译器的默认路径是什么?

c++ - 将 ZeroMQ 与 Boost::ASIO 一起使用

c++ - boost::lexical_cast int 到用零填充的字符串

android - 内部应用程序无法导入 com.android.internal.policy.impl?