Построение Boost с ICU с использованием MinGW

Я скачал двоичные файлы последнего выпуска ICU (49) и добавил следующий аргумент в 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                                

Там не было таких libicui18n, libicudata среди двоичных файлов icu.

Поэтому я попытался построить его сам. Я получил эту ошибку

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                              

Может кто-нибудь предложить мне, как я должен собрать Boost с ICU, используя MinGW?

1 ответ

Решение

1.) библиотеки в загруженном вами пакете названы icuin49.dll, icudt49.dll, Мы регулярно создаем тесты на mingw (и на многих других платформах), но не публикуем эти двоичные файлы.

2.) UCONV это просто дополнительный. Вы можете отключить его с --disable-extras в строке конфигурации. (недостаточно информации, чтобы сказать мне, почему это не удалось.)

Другие вопросы по тегам