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

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

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

Ответить
Аватара пользователя
Ferrum
новенький
Сообщения: 14
Зарегистрирован: 27.08.2009 10:11:53

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

Сообщение Ferrum »

Как заставить прогу, написаную на FPC, искать dll-ки не в своей корневой папке, а, скажем, в папке .\lib?
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

Теоретически, можно запустить её через .bat-файл или специальную программу-запускалку, которая предварительно добавит папку lib в переменную окружения PATH. Батник мог бы выглядеть примерно так:

Код: Выделить всё

setlocal
set PATH=Disk:fullpathtolib;%PATH%
start yourprogram.exe
endlocal

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

Добавлено спустя 9 минут 17 секунд:
Чтобы автоматически получать путь к текущей папке можно использовать

Код: Выделить всё

set PATH=%~dp0lib;%PATH%
Аватара пользователя
hinst
энтузиаст
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Сообщение hinst »

Код: Выделить всё

LoadLibrary('.\lib\mycoollibrary.dll')
svk12
постоялец
Сообщения: 411
Зарегистрирован: 09.06.2008 18:42:47

Сообщение svk12 »

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

Код: Выделить всё

export LD_LIBRARY_PATH="/mydir":%LD_LIBRARY_PATH%
/mydir/myprog &
Ответить