LINUX.ORG.RU

Как слинковаться с полной версией библиотеки, а не с мажорной?

 ,


0

1

Делаю так (через CMake, но это не суть):

[ 67%] Linking CXX executable lfstop
c++  <...> <...>/lib/libQt5Core.so.5.5.0

Делаю так:

objdump -p hello | grep Qt5Network
  NEEDED               libQt5Network.so.5

Вопрос: как заставить линкер прилинковаться не к симлинку .5, а к полной версии файла .5.5.0?

★★★★

К чему линковаться определяет SONAME прописанный в библиотеке её авторами, а они куда лучше тебя в этом разбираются, так что не нужно заставлять линкер. Действительно, только первое число определяет версию ABI, поэтому приложение слинкованное с so.5 будет работать и с .so.5.5.1 и с .so.5.6.0. Если же слинковаться с конкретно .so.5.5.0, минорное обновление библиотеки потребует совершенно не нужной пересборки приложения.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.