Шаманства с Uses in 'path/to/pas'

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

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

Ответить
dedm0zaj
постоялец
Сообщения: 108
Зарегистрирован: 05.10.2012 19:55:20

Шаманства с Uses in 'path/to/pas'

Сообщение dedm0zaj »

Допустим есть мейн файл main.pas, в котором

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

uses
  a in 'cat/a.pas';
собираю - всё собралось. в папке lib появился a.o
далее в a.pas делаю изменения (а можно даже грубые ошибки, которые не скомпилятся), и при повторной сборке компилятор не учитывает изменения a.pas, а собирает со старой версией a.o.

если a.pas находится в том же каталоге, что и main.pas (uses a;), то такого не происходит. компилятор чекает изменения в a.pas и пересобирает a.o.

это баг или я делаю что-то не так?
iskander
энтузиаст
Сообщения: 627
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

dedm0zaj писал(а):это баг или я делаю что-то не так?
Однако, или.
dedm0zaj
постоялец
Сообщения: 108
Зарегистрирован: 05.10.2012 19:55:20

Сообщение dedm0zaj »

Про указание путей каталогов знаю, а про то, что "in" не работает, не знал.
Странно, неужели это сложно реализовать? Или принципиально не реализуют?
iskander
энтузиаст
Сообщения: 627
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

Можно поискать в архивах списков рассылок, скорее всего кто-нибудь уже этим интересовался.
Аватара пользователя
Vlad04
новенький
Сообщения: 80
Зарегистрирован: 11.12.2007 20:11:19
Откуда: Караганда. Казахстан

Сообщение Vlad04 »

В Lazarus описание проекта находится в двух файлах *.lpr и *.lpi. В первом перечислены модули (по Unit ...), а во втором указаны конкретные файлы, содержащие Unit. Следовательно 'in' не нужен. Открываете в проекте файл с модулем 'a', затем выбираете пункт меню "Проект" - "Добавить файл редактора в проект", и всё будет работать как надо.
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

dedm0zaj писал(а):я делаю что-то не так?
Пути для поиска твоих модулей прописываешь в команде для сборки и горя не знаешь. За исключением сборки в лазарусе, который не понимает таких команд:

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

-Fu\i_dr/*
Но там ничего не поделаешь, не завезли в него полезную фичу, надо все каталоги прописывать в окошко поштучно.
Ответить