Эта командная строка работала для меня в Linux:
g++ -shared --language c -o libSqliteIcu.so icu.c -I../icu/source/common -I../icu/source/i18n -lpthread -lm -L../icu/source/lib -lsicui18n -lsicuuc -lsicudata -lpthread -lm
Обратите внимание на порядок библиотечных файлов и использование g ++ для обеспечения ссылки на среду выполнения c ++, даже если мы компилируем файл C.
NB.
Я использовал вывод icu-config --prefix=../icu/source --ldflags
.