![]() |
Проблема компиляции SHARED библиотек
Здравствуйте!
Помогите плииз. Использую Кдевелоп 3. Пишу программу с шаред библиотеками. Там КДевелоп предлагает использовать для этого CMake(CMakeList.txt): Код:
#add definitions, compiler switches, etc. Как сделать, чтоб шаред библиотека была бы либо в под папке либо в той же пепке где исполняемый файл(Не была бы привязана к абсолютному адрессу) Умоляю помогите! Плииииз! Вот пример(список файлов): Код:
[root@localhost Temp]# ls Код:
[root@localhost Temp]# ./test2test |
Попробуйте перед запуском программы выполнить:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./ |
Заработало. Но только на один раз. После закрытия консоли снова тоже самое. Что эта команда делает? Можно ли как-то исправить сам процесс компиляции?
|
Не скажу как с этим борется kdevelop, а вот система ищет библиотеки по путям, прописанным в файле /etc/ld.so.conf. Вы можете скопировать нужную библиотеку в одну из этих директорий (либо создать симлинк) и выполнить ldconfig.
|
Вопрос такого плана, я точно знаю, что многие программы работают по принципу, что если никак найти библиотеку, то она ищет её в той же директории, что и экзешник. Вот к стати пример: есть такой ZenEncoder. К нему прилагаются библиотеки декодера. и просто достаточно их залить в папку со скриптом и всё работает
|
Возможно, скрипт тоже экспортирует переменную LD_LIBRARY_PATH ?
|
Время: 07:16. |
Время: 07:16.
© OSzone.net 2001-