Любитель |
Отправлено: 31.05.2005, 14:25 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 53
|
Моя прога должна создавать exe используя компилятор С++ Builder, но я не знаю как это сделать Что нужно передать компилятору в командной строке? Какие файлы нужны чтобы откомпилить файл?
|
|
AVC |
Отправлено: 31.05.2005, 14:42 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
Моя прога должна создавать exe используя компилятор С++ Builder, но я не знаю как это сделать
|
Могу вас утешить — этого не знает никто. Ну не делает компилятор exe'шников, хоть стреляй его.
Формат командной строки описан в Help'е. |
|
klen |
Отправлено: 31.05.2005, 19:33 |
|
Машинист паровоза
Группа: Участник
Сообщений: 239
|
Могу обрадовать — компилятор не делает, он копилирует исходные код на с/с++ а обьектные файлы. Зато это делает линкер!!!!!
Turbo Incremental Link 5.64 Copyright © 1997-2002 Borland
Syntax: ILINK32 objfiles, exefile, mapfile, libfiles, deffile, resfiles
@xxxx indicates use response file xxxx
General Options:
-Af:nnnn Specify file alignment
-C Clear state before linking
-Ao:nnnn Specify object alignment
-wxxx Warning control
-ax Specify application type
-Enn Max number of errors
-b:xxxx Specify image base addr
-r Verbose linking
-Txx Specify output file type
-q Supress banner
-H:xxxx Specify heap reserve size
-c Case sensitive linking
-Hc:xxxx Specify heap commit size
-v Full debug information
-S:xxxx Specify stack reserve size
-Gn No state files
-Sc:xxxx Specify stack commit size
-Gi Generate import library
-Vd.d Specify Windows version
-GD Generate .DRC file
-Dstring Set image description
Map File Control:
-Vd.d Specify subsystem version
-M Map with mangled names
-Ud.d Specify image user version
-m Map file with publics
-GC Specify image comment str
-s Detailed segment map
-GF Set image flags
-x No map
-Gl Static package
Paths:
-Gpd Design time only package
-I Intermediate output dir
-Gpr Runtime only package
-L Specify library search paths
-GS Set section flags
-j Specify object search paths
-Gt Fast TLS
Image Control:
-Gz Do image checksum
-d Delay load a .DLL
-Rr Replace resources
Вперед и спесней — сначала запускаете bcc32 потом ilink32
В свое время я это делал, была у меня блаж собрать драйверы. Во преки расхожему мнению под билдером МОЖНО!! написать и собрать драйверы под Вынь — линкер всетаки умеет это делать, но........ это встало мне в такие гимароиии что я понял, на борланде все сделали чтоб этого никто не делал.
удачи в работе с командной строкой
|
|
Gedeon |
Отправлено: 31.05.2005, 19:52 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
QUOTE (klen @ 31/05/2005, 19:33) | В свое время я это делал, была у меня блаж собрать драйверы. Во преки расхожему мнению под билдером МОЖНО!! написать и собрать драйверы под Вынь — линкер всетаки умеет это делать, но........ это встало мне в такие гимароиии что я понял, на борланде все сделали чтоб этого никто не делал.
|
А не осталось случаем набросок каких-нить, интересно почитать бы было.
|
|
Любитель |
Отправлено: 02.06.2005, 11:39 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 53
|
QUOTE (klen @ 31/05/2005, 19:33) | Вперед и спесней — сначала запускаете bcc32 потом ilink32 |
Какая тут песня? Вот получится — спою! А пока не очень...
Как я понял bcc32.exe создает .obj, а ilink32.exe создает exe (правильно?) Так вот:
1)Скопировал bcc32 и ilink32 в папку с моей прогой.
2)Создал bat и записал в нем
CODE |
@bcc32 Project1.cpp
@pause |
или
CODE |
@bcc32 Unit1.cpp
@pause |
Как правельно?
3) писал и так и сяк а bcc32 требовал всякие .h и .cpp в папку с моей прогой
4)Давал ему эти .h и .cpp а ругался на ошибки в них
Бросил эту идею и решил взять готовые .obj и сделать из них exe
1)Взял готовые Project1.obj и Unit1.obj и положил их в папку с bcc32 и ilink32
2)Создал bat и записал в нем
CODE |
@ilink32 Project1.obj
@pause |
или
CODE |
@ilink32 Unit1.obj
@pause |
Как правельно?
3)Сначала ругался требовал vcle.lib я нашел 2 таких файла в папке $(BCB)\Lib\Release и в $(BCB)\Lib\Debug Какую брать?
4)Давал ему то одну, то другое а он матерится
Присоединить изображение
|
|
AVC |
Отправлено: 02.06.2005, 12:02 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
Как я понял bcc32.exe создает .obj, а ilink32.exe создает exe (правильно?) Так вот:
1)Скопировал bcc32 и ilink32 в папку с моей прогой.
2)Создал bat и записал в нем
.....
|
Первое — копировать ни чего не нужно и даже вредно. Нужно правильно настроить пути (при установке Builder это делает сам). Ведь кроме bcc и link надо еще правильно подключить и инклуды и библиотеки.
Второе, для таких целей существует утилит make. Пример начинки файла для make можно посмотреть, например, в Source (makefile).
PS. Вам это действительно нужно для дела или просто "пощупать". Ведь стройка и так все правильно собирает с учетом расставленных вами в проекте флагов.
Отредактировано AVC — 02/06/2005, 11:05 |
|