Невозможно статически связать boost-locale из-за ошибок связывания libicu в Ubuntu 18.04

Следующий код:

#include <boost/locale.hpp>
int main()
{
using namespace boost::locale;
generator gen;
}

Построен со следующими флагами:

g++ -static -static-libstdc++ -pthread main.cpp -lboost_locale -lboost_system -licuuc -licudata -licui18n

Не в состоянии связать со следующими ошибками:

(.text+0x16b8): undefined reference to `icu_60::CacheKeyBase::~CacheKeyBase()'
(.text+0x1c8d): undefined reference to `icu_60::UVector64::~UVector64()'
(.text+0x7dc): undefined reference to `icu_60::UCharsTrie::Iterator::~Iterator()'
...hundreds of other undefined symbols
...(the sample code also has boost linking errors, but let's ignore them, as they only appear in my attempt of reproduction; the real code I have issues with has only icu-related link errors)

Я использую Ubuntu 18.04, с обоими libboost-all-dev а также libicu-dev устанавливается из репозиториев Ubuntu.
Возможно, мне не хватает какого-то тривиального компонента / флага / библиотеки, необходимого для его связывания, но я не могу его найти.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector