|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
Путь к библиотеке в бинарнике20.12.2011, 16:55. Показов 7387. Ответов 30
Метки нет (Все метки)
Кто-нибудь в курсе, как задать относительный путь в .so-шке в бинарнике? К примеру, чтобы в одной папке с бинарем лежала so-шка и он к ней по относительному пути (./so_name.so) обращался. Че-то опцию никак отыскать не могу...
Спасибо
0
|
|
| 20.12.2011, 16:55 | |
|
Ответы с готовыми решениями:
30
Путь к внутренней библиотеке
Нужно в access прописать относительный путь к библиотеке |
|
65 / 65 / 5
Регистрация: 11.01.2009
Сообщений: 130
|
||
| 20.12.2011, 23:39 | ||
|
0
|
||
|
|
|||||||||||
| 20.12.2011, 23:53 | |||||||||||
|
потестил.
so`шка:
>gcc summ.c -shared -osumm.so прогу так: >gcc main.c -omain summ.so -Wl,-rpath=./ so`шка и прога лежат в одном каталоге. каталог в PATH не прописан. выполянем: > ./main; echo $? вывод: > 5 если же линковать так: >gcc main.c -omain summ.so -Wl,-rpath-link=./ или так: >gcc main.c -omain summ.so то при запуске получаем: ./main: error while loading shared libraries: summ.so: cannot open shared object file: No such file or directory значит -rpath свою работу делает.
1
|
|||||||||||
|
|
|||||||
| 21.12.2011, 00:00 | |||||||
|
Опция -rpath влияет уже на пути поиска во время исполнения (загрузки) и делает по сути дела то же самое, что и переменная окружения LD_LIBRRAY_PATH (только пути поиска зашивается в бинарник). Других способов задать пути поиска нет. Есть ещё дефолтные пути поиска (типа /lib, /usr/lib) и дефолтные системные пути поиска (что-то типа в файле /etc/ld.so.<чего-то там уже не помню>) Относительного пути поиска в run-time скорее всего нет. Процесс загрузки происходит следующим образом. Ядро загружает в память a.out и загружает в область динамических библиотек ld.so. Далее передаётся управление на ld.so. Т.е. в момент работы ld.so сам бинарник уже лежит в памяти, а потому для дальнейшей работы абсолютный путь для бинарника скорее всего не нужен и относительный путь поиска скорее всего будет трактоваться как относительный путь относительно каталога запуска (а не относительно каталога, в котором лежит бинарник) Если есть желание, то можно посмотреть в исходниках glibc: файл elf/dl-load.c функция open_path, пути поиска находятся в четвёртом параметре struct r_search_path_struct *sps http://sourceware.org/git/?p=g... 43;hb=HEAD Добавлено через 6 минут Запускать можно
1
|
|||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|||
| 21.12.2011, 01:11 [ТС] | |||
|
Добавлено через 31 секунду
0
|
|||
|
|
|
| 21.12.2011, 09:40 | |
|
Если на исполняемый файл на травить "readelf --dynamic a.out", то напечатаются динамические тэши. Среди них должно быть RPATH, которое появляется на основании опции -Wl,-rpath или -R (обе опции делают то же самое)
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 21.12.2011, 09:49 [ТС] | |
|
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 21.12.2011, 12:10 [ТС] | ||
мдя...неужели ребут так благоприятно сказался...
0
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 21.12.2011, 12:34 [ТС] | ||
Да, согласен, что ненормально... Я думал, что может дело в том, что запускал с опциями -L. -lmysqlclient, но теперь и такие команды нормально отрабатывают. Какой-то глюк, с чем связан, не знаю. Ладно, тему закрываю, всем спасибо, разобрались
0
|
||
| 21.12.2011, 12:34 | |
|
Как изменить путь к библиотеке, добавленной в References? При добавлении Flurry analytics Xcode ругается на путь к библиотеке Как в команде RegSvr32 правильно записать содержащий пробелы путь к регистрируемой библиотеке? Картинка в бинарнике... версия, авторские права в бинарнике Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|