3

我下载了最后一个 ICU 版本 (49) 二进制文件,并将以下 arg 添加到 b2:

-sICU_PATH="D:\lib64\icu"

我有

gcc.link D:\boost\1.51.0\boost\boost\bin.v2\libs\locale\build\gcc-mingw-4.7.1\debug\has_icu64.exe                 
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -licui18n 
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -licudata 
collect2.exe: error: ld returned 1 exit status                                

icu 二进制文件中没有这样的 libicui18n、libicudata。

所以我尝试自己构建它。我收到了这个错误

PATH=../../lib:../../stubdata:../../tools/ctestfw:$PATH  ../../bin/genrb -e UTF-8 -s resources -d uconvmsg root.txt                                                                                                                 
Makefile:173: recipe for target `uconvmsg/root.res'     failed                                                        
make[2]: *** [uconvmsg/root.res] Error 127                              

有人可以建议我如何使用 MinGW 用 ICU 构建 Boost 吗?

4

1 回答 1

3

1.) 您下载的包中的库名为icuin49.dll, icudt49.dll. 我们定期使用 mingw(和许多其他平台)构建以进行测试,但不发布这些二进制文件。

2.) uconv 只是一个额外的。--disable-extras您可以在配置行禁用它。(那里没有足够的信息告诉我它失败的原因。)

于 2012-09-11T15:47:57.230 回答