没有 icu 的建筑提升
Building boost without-icu
我想在 Solaris 10 上构建 boost 正则表达式而不使用 icu 库。
在没有 icu 支持的情况下构建 boost 正则表达式后
./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 库?
我的回复晚了,但这可能会有所帮助
我遇到了同样的问题,发现也需要删除bin.v2/libs
中的文件,删除bin.v2/project-cache.jam
文件。
因为我有多个 toolsets
从以前的编译中禁用 icu
的选项没有重置我当前 toolset
的 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)
我想在 Solaris 10 上构建 boost 正则表达式而不使用 icu 库。
在没有 icu 支持的情况下构建 boost 正则表达式后
./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 库?
我的回复晚了,但这可能会有所帮助
我遇到了同样的问题,发现也需要删除bin.v2/libs
中的文件,删除bin.v2/project-cache.jam
文件。
因为我有多个 toolsets
从以前的编译中禁用 icu
的选项没有重置我当前 toolset
的 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)