У меня проблема с общими библиотеками. У меня есть двоичный файл, связанный с некоторыми разделяемыми библиотеками. Я собрал все в C++ с gcc -L dirLibraries ecc ecc -llibraryName1 -libraryName2 ecc Теперь, если я запустил свой двоичный файл, скажите, что он не может найти одну библиотеку, , если я запустил двоичный файл из другого каталога, он скажет мне, что может Не найди другую библиотеку. Что мне нужно сделать, чтобы сообщить моему двоичному файлу, где нужно загружать библиотеки независимо от того места, где я запускаю программу?Скажите библиотеке linux, где загружаются общие библиотеки
1
A
ответ
1
Есть две переменные окружения, которые могут помочь:
LD_RUN_PATH
используется при строительстве настроить набор локаций для поиска при поиске разделяемых библиотек.LD_LIBRARY_PATH
используется при запуске программы для добавления дополнительных исправлений для поиска разделяемых библиотек.
Как устанавливаются переменные среды, зависит от среды, которую вы используете. Если вы используете оболочку, как bash
или ksh
вы можете использовать
export LD_LIBRARY_PATH=/some/path:/another/path:/as/many/as/you/need
После этого, программы началась с этой оболочки наследуют переменную окружения (вы можете также посмотреть на соответствующий документ, например, bash's documentation).
Если вы используете какую-то IDE, вам может потребоваться установить переменные среды из вашего файла ~/.profile
.
2
Вы можете поместить разделяемые библиотеки, которые хотите загрузить по пути поиска библиотеки, или добавить каталоги, содержащие их, в LD_LIBRARY_PATH
. См. Также Shared Libraries, особенно. «Раздел 3.2. Как используются библиотеки» и «Раздел 3.3.1. LD_LIBRARY_PATH».
Смежные вопросы
- 1. Общие библиотеки Linux C++
- 2. Ссылки на общие библиотеки Linux
- 3. ссылки на общие библиотеки linux
- 4. Linux, Mono, общие библиотеки и неразрешенные символы
- 5. Почему общие библиотеки (.so-файлы) загружаются как частные?
- 6. Общие библиотеки: метод Windows vs Linux
- 7. Общие библиотеки с G ++ в Linux
- 8. Как создать общие библиотеки-заглушки в Linux
- 9. Jni и общие библиотеки
- 10. Где установить общие библиотеки на OSX 10.11?
- 11. Где хранятся общие библиотеки, хранящиеся на android?
- 12. Как связать общие библиотеки в локальном каталоге, OSX и Linux
- 13. Место в библиотеке - Linux
- 14. QtCreator (2.8.0), используя общие библиотеки
- 15. Общие библиотеки в компании
- 16. Общие библиотеки C++
- 17. Общие библиотеки Solaris и глобальные переменные
- 18. общие библиотеки (dlopen) и безопасность потоков статических указателей библиотеки
- 19. Недопустимые общие библиотеки Libcrypto ++
- 20. Включить общие библиотеки
- 21. _dl_runtime_resolve - Когда общие объекты загружаются в память?
- 22. Проверить загруженные общие библиотеки из другой разделяемой библиотеки на Linux/Android
- 23. Не удается найти общие библиотеки в Boost (Linux Mint)
- 24. Где загружаются шаблонные предпосылки?
- 25. Настраиваемые общие библиотеки (DLL)
- 26. Websphere Общие библиотеки и Java 2 Безопасность
- 27. Где загружаются библиотеки зависимостей, определенные в файле build.gradle?
- 28. Статические и общие библиотеки C++
- 29. Использование включает в себя общие библиотеки C++
- 30. Скрытие библиотеки в библиотеке
exaclty вы можете объяснить мне, как и где мне нужно установить переменные envoirment, пожалуйста? – pava91
@ pava91: Я расширил ответ. –