Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хм, как бы с этим побороться - Library path etc. [D5, NT4]


oomneeq ©   (2002-03-21 16:14:00) 

Пытаюсь пользоваться dcc32.exe
Возникают сложности. Генерируемый IDE файл Project1.cfg
соденжит недостаточно информации для успешной трансляции из командной строки. Ругается на отсутствие модулей, к-е объявлены в Library path.
Этот Library path модифицируется как я понял при установке новых компонент в IDE, после чего проект их использующий нормально компилится из IDE.
В опциях dcc32 нет ключа для задания Library path.
К примеру, мой Library Path оочень большой, порядка 15 директорий, все длинные такие..
Что, самому что ли перенести все пути в -U компилятора dcc?
ИЛи я чего не понимаю?


oomneeq   (2002-03-22 14:53:00) [1]

Таакс...
Занимался следующим:
На каждый not found отвечал вставкой cоотв. каталога в начало списка -U
Таки скомпилил!
Далее убрал все *.dcu
Пробую снова...
Упс, наша песня хороша.... начинай сначала. :)
Cамый первый not found-овский каталог уехал за отметку 1024 cимвола, и похоже перестал учитываться, что подтверждает подозрения об ограничениях.
То бишЬ при таком обилии каталогов задачка с нуля (без единого dcu )за один проход не рещается. Во!
Ну блин, я расстроен. Что это за дискриминация любителей длинных имён!
А вот что будет, если в одном cfg два раза указывать один ключ с разными каталогами?
Выражаясь околонаучно, аддитивно ли это свойство?
тиритисськи ecть четыре исхода:
Учтется:
a 1й указанный
b 2й указанный
c оба
d ни одного

Делайте ставки, иду пробовать :-)
Cам хочу (c) но боюсь что (b)





Alx2   (2002-03-22 14:33:00) [2]

Насчет ограничений не знаю. Но 2500 символов - однако :)
Теперь проект компилится?


oomneeq   (2002-03-22 14:14:00) [3]

>Alx2 © (22.03.02 13:59)
>>в -I cтоит правильный путь к xxx.pas
>Поставь его в -U
Спасибо, помогло, хотя блин русским по белому написано (Рэй Лишнер, стр 548-549)
-I - путь к исходным файлам
-U - путь к *.dcu файлам.

Закрадываются новыые подозрения!
А есть ли ограничение на длину "path1;path2 ....pathN"
указываемого в названых ключах?
Потому как сработало только при установке "правильный путь к xxx.pas" в самое начало из конца!
Сейчас общая длина >2500 cимволов :-(





Alx2   (2002-03-22 13:59:00) [4]

>в -I cтоит правильный путь к xxx.pas
Поставь его в -U


oomneeq   (2002-03-22 13:55:00) [5]

>Приведи дословно ошибки компиляции.
Оч банально
Fatal: File not found xxx.dcu
в -I cтоит правильный путь к xxx.pas
указан ключ -B (BUILD)
xxx.pas относится к компоненте, установленной в палитре
(не мною, но похоже через package)

Я конечно могу оттранслировать через IDE, найти xxx.dcu и подсунуть его dcc32.
Но мне по прежнему неясно что такое есть в IDE, чего нет в *.cfg


Alx2   (2002-03-22 13:47:00) [6]

Из каталога с проектом выкинь dcc32.cfg
Добавить дополнительно к соответствующим ключам в project1.cfg перечисление через ";"):
-U - пути к юнитам (units), которых не находит (pas или dcu)
-R - пути к ресурсам (например, путь к файлам с расширением res)


Alx2   (2002-03-22 13:40:00) [7]

Приведи дословно ошибки компиляции.


oomneeq   (2002-03-22 13:23:00) [8]

Значтак.

Согласно OReilly-вскому справочнику Лишнера (стр.546)
Настройки компилятора могут определяться в 4 местах по приоритету

(1) dcc32.cfg в $(DELPHI)\BIN
(2) dcc32.cfg в текущем каталоге
(3) ProjectName.cfg (подразумевается компиляция ProjectName.dpr)
(4) непосредственно командная строка

Настройки с бОльшим приоритетом переопределяют настройки с меньшим.

Здесь у меня 1 вопрос:
КАКпереопределяют ?
относится ли это только к указаннымнастройкам?
Поясню примером:
в (1) определен ключ /DЧтонибудь
в (2) ключ /D отсутствует
Учтется /DЧтонибудь при компиляции проекта или отменится в (2),
как указание(в данном случае отсутствие указания) с бОльщим приоритетом?
Или еще хужe:
в (1) определен ключ /DЧтонибудь
в (2) определен ключ /DЕщеЧтонибудь
Что учтетcя -
A. ЕщеЧтонибудь //(only)
B. Чтонибудь,ЕщеЧтонибудь //(both)
??
--

теперь про Library path
Помогите ради бога человеческим объяснением:
Что туда пишется? и для кого/чего.
Должен ли это быть путь к
A. *.Pas
B. *.dcu
C. ресурсам (*.res,*.dfm)..
Или ко всему сразу?
У меня стойкое подозрение, что Library path используется (кроме всего прочего)при компиляции из-под IDE. А значит, эти же пути-мути должны также быть использованы при компиляции dcc32.

И, если это так, то как раскидать эти Library path"овские путя по dcc32"вским ключам (предположительно -I -U -O -R)

Фух...
Надеюсь сформулировал понятно.


Alx2   (2002-03-21 17:22:00) [9]

Еще посмотри "-LU"


Alx2   (2002-03-21 17:19:00) [10]

На всякий случай:
Перечисление путей должно идти через ";"
dcc32.cfg должен лежать в каталоге, описанном в path, либо в каталоге с головой проекта (откуда компилятор запускаешь)


oomneeq   (2002-03-21 17:13:00) [11]

>Посмотри dcc32.cfg и добавь туда все необходимое


Увы, если б так просто....


Alx2   (2002-03-21 16:28:00) [12]

Посмотри dcc32.cfg и добавь туда все необходимое


Наверх

Титульная страница Поиск, карта сайта Написать письмо