LINUX.ORG.RU

Запуск программы со сторонними статическими библиотеками


0

1

Привет всем, как запустить скомпилированную программу которая завит от статических библиотек? Как к ней например можно указать путь. Библиотеки находятся в одной папке с исполняемым файлом

Запуск программы со сторонними статическими библиотеками

От статических либ бинарь не может быть зависим. Скорее всего молодой джэдай имеет ввиду зависимость от shared object. Если так, то так: env LD_LIBRARY_PATH=. ./myapp

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

в том то и дело что не запускается, пишет что невозможно открыть библиотеку error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory

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

error while loading shared libraries

Shared это не статическая, это динамическая библиотека.
Ставь пакет из репозитория, с названием sdl или libsdl версии 1.2; те, тебе нужна библиотека sdl начиная от версии 1.2 и новее. Например, для debian.
Либо, если нужные либы лежат рядом, запускай как выше написали:

LD_LIBRARY_PATH=«$PWD» ./бинарник

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

А в gdb этот параметр можно передать? LD_LIBRARY_PATH=«$PWD» ./бинарник

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

Нельзя это сделать так, как джедай желает. Надо в gdb заклинание set environment LD_LIBRARY_PATH=./ говорить.

И да прибудет с тобой сила!

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

Это не параметр, это переменная окружения для ld.so (можно почитать man ld.so).
Передать программе в gdb очевидно как:

LD_LIBRARY_PATH=«$PWD» gdb ./1
gdb не пользуюсь, но очевидно потому, что он не должен запускать программу в пустом окружении (иначе это изменит её поведение).

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