Логическое дополнение этой статьи.
Нам понадобятся:
Приступаем к сборке.
- Переходим по ссылке, выбираем нужную версию и скачиваем архив с исходным кодом (icu4c-69_1-src.zip)
- Распаковываем, например в корень T:\
- В icu\source\common\unicode\uconfig.h сразу после header guards добавляем строчку
#define U_DISABLE_RENAMING 1
чтобы получилось примерно так:
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
**********************************************************************
* Copyright (C) 2002-2016, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
* file name: uconfig.h
* encoding: UTF-8
* tab size: 8 (not used)
* indentation:4
*
* created on: 2002sep19
* created by: Markus W. Scherer
*/
#ifndef __UCONFIG_H__
#define __UCONFIG_H__
#define U_DISABLE_RENAMING 1
<...>
- Запускаем MSYS2 и переходим в /t/icu/source
- Настраиваем окружение так, чтобы использовался наш MinGW и Python:
export PATH=/c/dev/8.1.0/x64/mingw/bin:/c/dev/tools/python39:$PATH
- Настраиваем флаги компилятора для правильной статической сборки:
export CFLAGS="-DU_DISABLE_RENAMING=1"
export CXXFLAGS="-std=c++11"
- Конфигурируем ICU:
./runConfigureICU MinGW prefix=/c/dev/8.1.0/x64/icu4c-69_1/shared -enable-shared -disable-static --disable-renaming --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-data-packaging=library
- Собираем:
mingw32-make
Сборка должна завершиться успешно.
- Устанавливаем библиотеку:
mingw32-make all install
- Копируем библиотеки в директорию lib:
cp /c/dev/8.1.0/x64/icu4c-69_1/shared/bin/*.dll /c/dev/8.1.0/x64/icu4c-69_1/shared/lib/
Всё.
Если используется система сборки qmake, в pro файле библиотека подключается так:
LIBS += -LC:/dev/8.1.0/x64/icu4c-69_1/shared/lib/
LIBS += -licuin
LIBS += -licutest
LIBS += -licutu
LIBS += -licuio
LIBS += -licuuc
LIBS += -licudt
INCLUDEPATH += C:/dev/8.1.0/x64/icu4c-69_1/shared/include
DEPENDPATH += C:/dev/8.1.0/x64/icu4c-69_1/shared/include