LINUX.ORG.RU

libboost-system совместимость версий

 ,


1

4

Имеется самописное приложение на c++ с использованием boost asio.
Система linux mint 17 x64
Установлены:
libboost-system1.54-dev
libboost-system1.54.0
libboost1.54-dev

Все компилируется, работает(при компоновке передаю g++ параметр -lboost_system). Но вот нужно мне перенести данное приложение на другой компьютер с debian 8 x64, там стоит libboost-system1.55.0. Так вот при запуске моего приложения на данной системе, получаю сообщение об ощибке:
error while loading shared libraries: libboost_system.so.1.54.0: cannot open shared object file: No such file or directory
Вопрос: можно ли как-то заставить приложение использовать другую версию libboost-system (в данном случае libboost-system1.55.0) или единственный вариант перекомпилировать программу под нужную версию libboost-system?

★★★★★

Статически его слинкуй. из этой либы только код ошибки системный достается с текстом. И больше, вроде, ничего.

anonymous
()
Ответ на: комментарий от rumgot

Ну скомпилируй на нужной машине тогда, либо попробуй ln -s :-D

FIL ★★★★
()
Последнее исправление: FIL (всего исправлений: 1)
Ответ на: комментарий от rumgot

Если тебе из буста нужен только асио, то есть смысл его вообще стендэлон взять. Он хедер-онли и таких проблем с ним не будет.

anonymous
()

Тут уже была подобная тема. Только надо учитывать, что файлы вроде libboost_system.so могут просто отсутствовать на некоторых дистрибутивах (для Debian и производных это вроде так), если не установлен dev-пакет соответствующей библиотеки.

xaizek ★★★★★
()
Ответ на: комментарий от fornlr

Обычно просто выкладывают исходники а уже майнтейнеры дистрибутивов делают 9000 версий. А проприетарщики должны страдать.

anonymous
()
Ответ на: комментарий от fornlr

Подскажите пожалуйста команду статической линковки.
Сейчас компилирую так:

g++ main.cpp myclass.cpp -c -std=c++11
g++ main.o myclass.o -o outname -lboost_system -pthread

rumgot ★★★★★
() автор топика

Только перекомпилировать. Разные версии библиотек означают разные ABI, так что даже если ты что-то накостылишь, твоя программа будет иметь полное право и все шансы развалиться самым деструктивным образом (в лучшем случае упасть).

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