![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хм, как бы с этим побороться - 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 и добавь туда все необходимое