Портирование проекта Windows -> Linux

Вопросы программирования и использования среды Lazarus.

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

delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

wwswowsogon писал(а):Но при установке/сборке он просит пакеты indysystemlaz и idycorelaz
Понял, это просто набор под чистый fpc, без lazarus
wwswowsogon писал(а):ОДнако проблема осталась
Даже если принудительно бросить idURI.pas в одну папку с idHTTP.pas? :shock:
Seenkao
энтузиаст
Сообщения: 578
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

wwswowsogon писал(а): Т. е. указать абсоблютный путь прямо в коде? типа

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


external 'home/wws/astra/libdata1.so'

?
в проектах можно указывать пути в таком варианте: "../../data/" и в таком варианте путь будет работать в любой системе правильно (если пути правильно указаны).
wwswowsogon
постоялец
Сообщения: 157
Зарегистрирован: 23.12.2008 19:41:37

Сообщение wwswowsogon »

delphius писал(а): Даже если принудительно бросить idURI.pas в одну папку с idHTTP.pas? :shock:
А они и так находятся в одной папке, Indy/Protocols ;)

Попробую обновить/переустановить Lazarus, возможно, с ним что-то не так.

Добавлено спустя 1 час 37 минут:
Переустановил Lazarus и библиотеки. Теперь, таки да, он хочет видеть, похоже, все файлы Indy в директории проекта, несмотря на прописанные пути в fpc.cfg
delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

wwswowsogon писал(а):Теперь, таки да, он хочет видеть, похоже, все файлы Indy в директории проекта,
Главное, чтобы задача была решена :mrgreen:
wwswowsogon
постоялец
Сообщения: 157
Зарегистрирован: 23.12.2008 19:41:37

Сообщение wwswowsogon »

Короче, все мои изыскания приводят к одному - компилятора доходит до модуля IdURI, указанного в IdHTTP, и говорит Cannot find IdURI used by IdHTTP. Даже в том случае, когда вообще все модули Indy лежат в папке проекта, и ppu/o там же.

В консоли ещё вываливается вот что:

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

TIDEFPCParser.ImproveMsgUnitNotFound FindUnitInAllUsesSections failed due to syntax errors or idURI is not used in /usr/share/lazarus/1.8.4/components/Indy/indy/Protocols/IdHTTP.pas
При этом сам Lazarus модуль IdURI прекрасно видит и воспринимает, если навести мышью при нажатом Ctrl, ссылается, куда надо.

Добавлено спустя 4 часа 24 минуты 46 секунд:
Не буду даже перечислять всё, что я делал в поисках решения проблемы, но в итоге проект собрался как ни в чём не бывало, без каких-либо дополнительных манипуляций. В процессе всего этого заметил пару глюков/фичей в поведении Lazarus.

Возможно, я изначально не в том файле прописывал пути. В etc лежит два файла: fpc.cfg и fpc3.0.4.cfg. Почему их два? Lazarus сообщает, что использует fpc.cfg.
Ответить