Как я могу настроить сборку ICU так, чтобы символы включали основную и вспомогательную версию библиотеки?

У меня есть динамически связанный двоичный файл, который опирается на версию 52.1 библиотеки ICU (в Linux).

$ ./myprogram
./myprogram: ошибка при загрузке общих библиотек: libicuuc.so.52.1: не удается открыть файл общего объекта: нет такого файла или каталога

Я скачал и собрал эту версию и добавил каталог с таким образом созданными библиотеками .so в LD_LIBRARY_PATH,

$ ls $HOME/opt/icu-52_1/lib/
icu/                libicuio.so         libiculx.so.52    lbicutu.so.52.1
libicudata.so       libicuio.so.52      libiculx.so.52.1    libicuuc.so
libicudata.so.52    libicuio.so.52.1    libicutest.so       libicuuc.so.52
libicudata.so.52.1  libicule.so         libicutest.so.52    libicuuc.so.52.1
libicui18n.so       libicule.so.52      libicutest.so.52.1  pkgconfig/
libicui18n.so.52    libicule.so.52.1    libicutu.so
libicui18n.so.52.1  libiculx.so         libicutu.so.52
$ export LD_LIBRARY_PATH=$HOME/opt/icu-52_1/lib/:$LD_LIBRARY_PATH

Однако компоновщик жалуется, что не может найти символ ucnv_open_52_1,

$ ./myprog
./tpsc2: symbol lookup error: ./tpsc2: undefined symbol: ucnv_open_52_1

Символы, предоставленные библиотекой, которую мне удалось построить, ucnv_open_52,

~/opt/distrib-icu-52_1 $ nm -CD $HOME/opt/icu-52_1/lib/libicuuc.so.52.1 | grep open
...
0000000000062df0 T ucnv_open_52
...

Я не могу понять параметр конфигурации, который заставит symbol переименование в symbol_MAJOR_MINOR вместо просто symbol_MAJOR, Или любой другой способ решить эту проблему …

0

Решение

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

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

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

По вопросам рекламы [email protected]