Назначение папок для поиска динамических библиотек.

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Назначение папок для поиска динамических библиотек.

Сообщение Ferrum » 25.08.2010 18:53:01

Как заставить прогу, написаную на FPC, искать dll-ки не в своей корневой папке, а, скажем, в папке .\lib?
Аватара пользователя
Ferrum
новенький
 
Сообщения: 14
Зарегистрирован: 27.08.2009 10:11:53

Re: Назначение папок для поиска динамических библиотек.

Сообщение Odyssey » 26.08.2010 10:38:30

Теоретически, можно запустить её через .bat-файл или специальную программу-запускалку, которая предварительно добавит папку lib в переменную окружения PATH. Батник мог бы выглядеть примерно так:
Код: Выделить всё
setlocal
set PATH=Disk:fullpathtolib;%PATH%
start yourprogram.exe
endlocal

Практически - нужно проверять.

Добавлено спустя 9 минут 17 секунд:
Чтобы автоматически получать путь к текущей папке можно использовать
Код: Выделить всё
set PATH=%~dp0lib;%PATH%
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Назначение папок для поиска динамических библиотек.

Сообщение hinst » 26.08.2010 21:06:55

Код: Выделить всё
LoadLibrary('.\lib\mycoollibrary.dll')
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: Назначение папок для поиска динамических библиотек.

Сообщение svk12 » 26.08.2010 22:50:37

Под виндой дллки, лежащие на стартовой директории приложения, будут найдены автоматически, а под Линухом прогу
нужно запускать через скипт примерно такого содержания:

Код: Выделить всё
export LD_LIBRARY_PATH="/mydir":%LD_LIBRARY_PATH%
/mydir/myprog &
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

Рейтинг@Mail.ru