使用MinGW使用ICU构建Boost

时间:2012-09-02 07:12:42

标签: c++ boost build mingw icu

我下载了最后一个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吗?

1 个答案:

答案 0 :(得分:2)

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

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