Построение 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
в строке конфигурации. (недостаточно информации, чтобы сказать мне, почему это не удалось.)