Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » Проблема компиляции SHARED библиотек

Ответить
Настройки темы
Проблема компиляции SHARED библиотек

Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте!
Помогите плииз. Использую Кдевелоп 3. Пишу программу с шаред библиотеками. Там КДевелоп предлагает использовать для этого CMake(CMakeList.txt):
Код: Выделить весь код
#add definitions, compiler switches, etc.
ADD_DEFINITIONS(-Wall -O2 -L)

#build a shared library
ADD_LIBRARY(test2 SHARED test2.cpp)

#for testing the shared library you probably need some test app too
ADD_EXECUTABLE(test2test test2test.cpp)

#need to link to some other libraries ? just add them here
TARGET_LINK_LIBRARIES(test2test test2)
(Это содержимое файла с настройками для компиляции. Всё вроде работает, но проблема в том, что стоит переместить программу в другую папку или на другой комп, как она тупо начинает искать библиотеки программы в той самой папке, где был проект программы.
Как сделать, чтоб шаред библиотека была бы либо в под папке либо в той же пепке где исполняемый файл(Не была бы привязана к абсолютному адрессу)

Умоляю помогите! Плииииз!
Вот пример(список файлов):
Код: Выделить весь код
[root@localhost Temp]# ls
ElDorado/  libtest2.so*  test2test*
и вот собсно проблема:
Код: Выделить весь код
[root@localhost Temp]# ./test2test
./test2test: error while loading shared libraries: libtest2.so: cannot open shared object file: No such file or directory
[root@localhost Temp]#
Библиотека под носом, но экзешник её не видит, а ищет в другом месте

Отправлено: 06:56, 11-08-2008

 

Аватара для BuGfiX

Слакофил


Сообщения: 590
Благодарности: 130

Профиль | Сайт | Отправить PM | Цитировать


Попробуйте перед запуском программы выполнить:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./

-------
If you don`t know what to use this for, you don`t need it.

http://sergey.sereda.googlepages.com...e1_userbar.gif

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:58, 11-08-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Заработало. Но только на один раз. После закрытия консоли снова тоже самое. Что эта команда делает? Можно ли как-то исправить сам процесс компиляции?

Последний раз редактировалось Midnight-Ghost, 11-08-2008 в 12:51.


Отправлено: 12:41, 11-08-2008 | #3


Аватара для BuGfiX

Слакофил


Сообщения: 590
Благодарности: 130

Профиль | Сайт | Отправить PM | Цитировать


Не скажу как с этим борется kdevelop, а вот система ищет библиотеки по путям, прописанным в файле /etc/ld.so.conf. Вы можете скопировать нужную библиотеку в одну из этих директорий (либо создать симлинк) и выполнить ldconfig.

-------
If you don`t know what to use this for, you don`t need it.

http://sergey.sereda.googlepages.com...e1_userbar.gif


Отправлено: 13:31, 11-08-2008 | #4


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вопрос такого плана, я точно знаю, что многие программы работают по принципу, что если никак найти библиотеку, то она ищет её в той же директории, что и экзешник. Вот к стати пример: есть такой ZenEncoder. К нему прилагаются библиотеки декодера. и просто достаточно их залить в папку со скриптом и всё работает

Отправлено: 23:33, 13-08-2008 | #5


Аватара для BuGfiX

Слакофил


Сообщения: 590
Благодарности: 130

Профиль | Сайт | Отправить PM | Цитировать


Возможно, скрипт тоже экспортирует переменную LD_LIBRARY_PATH ?

-------
If you don`t know what to use this for, you don`t need it.

http://sergey.sereda.googlepages.com...e1_userbar.gif


Отправлено: 11:17, 14-08-2008 | #6



Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » Проблема компиляции SHARED библиотек

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Изучение библиотек Windows morgan1991 Хочу все знать 7 11-03-2009 03:22
FreeBSD - Shared folder в VMWare RedNN Общий по FreeBSD 3 10-01-2008 14:10
Лицензирование библиотек Alexander_Grig Лицензирование продуктов Microsoft 10 02-06-2007 14:59
Сборка библиотек 1Space Программное обеспечение Linux и FreeBSD 1 08-02-2007 21:24
Need to make shared smth ASh Сетевые технологии 1 03-08-2004 09:16




 
Переход