C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Запуск компилятора BCB
Любитель
Отправлено: 31.05.2005, 14:25


Дежурный стрелочник

Группа: Участник
Сообщений: 53



Моя прога должна создавать exe используя компилятор С++ Builder, но я не знаю как это сделать Что нужно передать компилятору в командной строке? Какие файлы нужны чтобы откомпилить файл?

AVC
Отправлено: 31.05.2005, 14:42


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

Моя прога должна создавать exe используя компилятор С++ Builder, но я не знаю как это сделать

Могу вас утешить — этого не знает никто. Ну не делает компилятор exe'шников, хоть стреляй его. smile.gif
Формат командной строки описан в 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

Вернуться в Вопросы программирования в C++Builder