Спасибо. Я должен сказать, я ввёл вас в заблуждение. Всё же оказалось, что в проекте есть модуль, где используется вызов этих же динамических библиотек. Я о нём напрочь забыл, и, конечно же, не исправил имена вызываемых файлов. Не знаю, почему сразу не нашёл, несколько раз проверял. Вот компоновщик и ругался. Жаль, что он не ссылается на модуль, в котором упоминается файл, когда говорит о том, что файл не найден.
Пока разбирался с проблемой, сделал два тестовых проекта с dll/so. Всё прошло успешно, два момента:
1 Почему-то Lazarus под Windows, когда создаёшь бибилиотеку, создаёт .lpr, а под linux - .pas для главного модуля...
2 Всё же для корректной работы требуется поместить .so в usr/lib. Если просто оставить в папке с программой, то она либо не запускается вовсе, либо вылетает при вызове функции из .so.
Проект в итоге собрался. И опять две маленькие неприятности - почему-то при закрытии главного окна вылетает 'Директория '' не найдена.'. Пробовал убирать весь код при закрытии главного окна - эффект тот же, увы. Сдаётся мне, что этот эффект вызывается строкой
- Код: Выделить всё
Application.Terminate;
и под Windows не наблюдается.
Кроме того, осталась вышеупомянутая проблема с Indy. Indy ставил 10.6.2. Стандартным образом, в папку lazarus/components, далее прописал пути в fpc.cfg:
- Код: Выделить всё
-Fu/usr/lib/lazarus/1.8.2/components/indylaz/Core
-Fu/usr/lib/lazarus/1.8.2/components/indylaz/SuperCore
-Fu/usr/lib/lazarus/1.8.2/components/indylaz/Security
-Fu/usr/lib/lazarus/1.8.2/components/indylaz/System
-Fu/usr/lib/lazarus/1.8.2/components/indylaz/FCL
-Fu/usr/lib/lazarus/1.8.2/components/indylaz/Protocols
-Fu/usr/lib/lazarus/1.8.2/components/indylaz
При установке пару раз он ругнулся на .inc-фалы в директивах, я это закомментировал и всё встало. По Windows делал аналогично. И всё бы хорошо, но теперь при сборке проекта говорит вот что:
- Код: Выделить всё
IdHTTP.pas(343,16) Fatal: Cannot find idURI used by IdHTTP.
При этом, как видно, ссылается не на модуль проекта, а на idHTTP.pas внутри одного из файлов пакета... Никакими манипуляциями с файлами и путями мне это решить не удалось. Если есть какие идеи, буду признателен.