Как скомпилировать программу delphi в exe

Кому-нибудь удалось скомпилировать проект Delphi 6 и 7 (НЕ любой Delphi > 7) с помощью командной строки?
Все инструкции, которые я вижу, не очень ясны в отношении того, что именно нужно делать!
Ищем пошаговые инструкции.
Ответы должны быть ограничены Delphi 6 и 7, я понимаю, что Delphi2006 и > использует MSBuild, что намного проще.
Ссылки также высоко оценены.
Гаф

спросил(а) 2009-12-03T08:25:00+03:00 13 лет, 7 месяцев назад
добавить комментарий
пожаловаться

Это не сложно. У меня есть стандартная установка Delphi 5 на моей машине, и когда я открываю командную строку, перейдите в каталог $(DELPHI)DemosThreads и введите dcc32.exe thrddemo.dpr , приложение построено на командной строке.
Для вашего собственного проекта вам может потребоваться добавить некоторые переключатели для включения файловых каталогов, выходных каталогов, определений или подобных вещей. Запуск dcc32.exe без параметров дает список переключателей и параметров. Все это описано в документации. Для повторяемости вы должны создать командный файл или обычный Makefile.

Delphi 2017 R3 with keygen cable and software setup and installation guide


Обратите внимание, что как файл проекта cfg , так и общий dcc32.cfg в каталоге Delphi содержат важные настройки. Для получения некоторой информации о том, как они влияют на сборку, см., Например, эту ссылку в Delphi Wikia.

ответил(а) 2009-12-03T10:04:00+03:00 13 лет, 7 месяцев назад
добавить комментарий
пожаловаться

Для автоматизации сборки я использую Apache Ant, который программный инструмент для автоматизации процессов сборки программного обеспечения. Я использую его для всех моих проектов, от Delphi 6 до Delphi 2009 и Free Pascal.
Вещи, которые он может сделать «из коробки», включают создание контрольной суммы MD5, создание ZIP файла, поиск/замену текста (полезно для генерации заголовков авторских прав), выполнение операторов SQL, обработка XSLT.
Например, чтобы скомпилировать все проекты с Delphi 6, это (часть) script:

Bindcc32″ failonerror=»true» output=»build-d6.log» >

;$/Lib/System»/>
;$/D6;$/d6″/>
;$/D6;$/d6″/>

Бесплатные серверы с открытым исходным кодом CI (Continuous Integration), такие как Hudson/Jenkins, поддерживают Apache Ant, строят сценарии из коробки, а это значит, что вы можете создать их автоматически при каждом изменении в исходном репозитории.

ответил(а) 2009-12-03T10:51:00+03:00 13 лет, 7 месяцев назад
добавить комментарий
пожаловаться
FinalBuilder делает это очень легко. Попробуйте.
ответил(а) 2009-12-03T09:58:00+03:00 13 лет, 7 месяцев назад
добавить комментарий
пожаловаться
Вы можете построить все, используя эту командную строку:

«C:Program FilesBorlandDelphi7BinDCC32.exe» -Q -B your-project.dpr

Поместите эту строку в файл .bat, чтобы вам не нужно вводить ее всегда. Взгляните на параметры командной строки:

«C:Program FilesBorlandDelphi7BinDCC32.exe» -h

Установка и активация Delphi Autocom CDP 2017. Настройка BLUETOOTH соединения с Delphi Ds150e.


BTW: -Q — тихая компиляция, и -B перестроит все. Если вы хотите получить более быструю компиляцию, не используйте -B.
Он будет использовать все параметры в файле project.cfg. Я нашел этот dof2cfg исполняемый файл очень полезным. С его помощью я могу редактировать текстовый файл .dof и распространять это изменение в командной строке и в IDE. Не нужно открывать для каждого проекта.
Важное предупреждение: Компилятор командной строки Delphi 7 имеет очень странную ошибку. Если ваш путь очень длинный, он завершится ошибкой с непостижимой ошибкой: нарушение доступа без какой-либо значимой информации. Если это не удастся без каких-либо разумных мотивов, попробуйте уменьшить свой полный путь и размер имени файла.

ответил(а) 2011-07-29T18:04:00+04:00 11 лет, 11 месяцев назад
добавить комментарий
пожаловаться

Я бы предложил комбинацию NAnt и dcc32, но там также Juancarlo Añez WAnt — Паскаль-дружественный инструмент сборки. Я использовал модифицированную версию 1.x вместо 2.x alpha. Поскольку он с открытым исходным кодом, я мог бы расширить код для вывода журнала в формате XML в том же формате, что и NAnt, поэтому я могу интегрировать его с CruiseControl.NET.

Читайте также:
Какие программы тормозят работу телефона

ответил(а) 2009-12-03T11:26:00+03:00 13 лет, 7 месяцев назад
добавить комментарий
пожаловаться

Для более поздних версий Delphi это должно быть изменено на:
«C:Program Files (x86)EmbarcaderoRAD Studio8.0binDCC32.exe» -h

ответил(а) 2011-10-17T17:54:00+04:00 11 лет, 8 месяцев назад
добавить комментарий
пожаловаться

Еще в рубрике

Delphi — OleContainer — PowerPoint — AutoPlay
Закройте и перезапустите текущее приложение в DELPHI

Как получить доступ к 64-битной папке (System32) из 32-битного приложения Delphi с использованием командного файла?

Как включить что-то, если не найдено никаких определений

Другие вопросы

Лучший способ обмена изображениями между несколькими приложениями
Delphi $ IFDEF WIN32 падает до $ ELSE
Как распознать вредоносный код?

  1. Вопросы
  2. Delphi
  3. Как скомпилировать мой проект delphi в командной строке?

Источник: progi.pro

Как скомпилировать программу delphi в exe

Изменяюсь снова за тупой вопрос , но не могу скомпилировать проект в EXE че надо сделать ?
Delphi 7 бульдор .

Регистрация: 19.12.2008
Сообщений: 5,788
Project -> Build Project1
или F9
и ищите в папке с исходником.

Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.
___________________________________ ___________________________________ _______
[=Правила форума=] _____ [Поиск] _____ [Литература по С++] ____ [Литература. Паскаль]

Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977

Проект должен быть сохранен в какой либо папке (File => Save All) .Сохраняется сначала модуль формы (по умолчанию Unit1) , а затем сам проект (Project1). Далее жмем F9 (или зелененький треугольничок) и , если, нет синтаксических ошибок идет компиляция и создается exe-файл в папке с проектом.

И не сомневайся даже . отдых — кайф, работа — лажа!
Регистрация: 28.01.2009
Сообщений: 20,999
если проект нигде не был сохранен то ЕХЕ появится в папке Projects в папке с Дельфи

Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Источник: www.programmersforum.ru

Компилятор csc.exe

В действительности необходимость в создании крупных приложений с использованием одного лишь компилятора командной строки C# может никогда не возникнуть, тем не менее, важно понимать в общем, как вручную компилировать файлы кода. Существует несколько причин, по которым освоение этого процесса может оказаться полезным:

  • Самой очевидной причиной является отсутствие Visual Studio 2010 или какой-то другой графической IDE-среды.
  • Работа может выполняться в университете, где использование инструментов для генерации кода и IDE-сред обычно запрещено.
  • Планируется применение автоматизированных средств разработки, таких как msbuild.exe, которые требуют знать опции командной строки для используемых инструментов.

Возникло желание углубить свои познания в C#. В графических IDE-средах в конечном итоге все заканчивается предоставлением компилятору csc.ехе инструкций относительно того, что следует делать с входными файлами кода C#. В этом отношении изучение происходящего «за кулисами» позволяет получить необходимые знания.

Еще одно преимущество подхода с использованием одного лишь компилятора csc.ехе состоит в том, что он позволяет обрести навыки и чувствовать себя более уверенно при работе с другими инструментами командной строки, входящими в состав .NET Framework 4.0 SDK, так как целый ряд важных утилит работает исключительно в режиме командной строки.

Чтобы посмотреть, как создавать .NET-приложение без IDE-среды, давайте построим с помощью компилятора C# и текстового редактора Notepad простую исполняемую сборку по имени TestApplication.exe. Сначала необходимо подготовить исходный код. Откройте программу Notepad (Блокнот), выбрав в меню Start (Пуск) пункт All Programs — Accessories — Notepad (Все программы — Стандартные — Блокнот), и введите следующее типичное определение класса на C#:

Читайте также:
Программа в которой можно сделать макияж

using System; class TestApplication < static void Main() < Console.WriteLine(«Привет!»); Console.ReadLine(); >>

После окончания ввода сохраните файл под именем TestApplication.cs. Теперь давайте ознакомимся с ключевыми опциями компилятора C#.
Указание целевых входных и выходных параметров

Первым делом важно разобраться с тем, как указывать имя и тип создаваемой сборки (т.е., например, консольное приложение по имени MyShell.exe, библиотека кода по имени MathLib.dll или приложение Windows Presentation Foundation по имени Halo8.ехе). Каждый из возможных вариантов имеет соответствующий флаг, который нужно передать компилятору csc.ехе в виде параметра командной строки.

Обратите внимание, что параметры, передаваемые компилятору командной строки (а также большинству других утилит командной строки), могут сопровождаться префиксом в виде символа дефиса (-) или слеша (/).

Выходные параметры, которые может принимать компилятор C# приведены в следующей таблице:

Параметры компилятора csc.exe

Параметр Описание
/out Этот параметр применяется для указания имени создаваемой сборки. По умолчанию сборке присваивается то же имя, что у входного файла *.сs
/target:exe Этот параметр позволяет создавать исполняемое консольное приложение. Сборка такого типа генерируется по умолчанию, потому при создании подобного приложения данный параметр можно опускать
/target:library Этот параметр позволяет создавать однофайловую сборку *.dll
/target:module Этот параметр позволяет создавать модуль. Модули являются элементами многофайловых сборок
/target:winexe Хотя приложения с графическим пользовательским интерфейсом можно создавать с применением параметра /target: ехе, параметр /target: winexe позволяет предотвратить открытие окна консоли под остальными окнами

Чтобы скомпилировать TestApplication.cs в консольное приложение TestApplication.exe, перейдите в каталог, в котором был сохранен файл исходного кода (с помощью флага cd) и введите следующую команду:

Компиляция приложения с помощью csc.exe

Обратите внимание, что здесь C:myProject — это путь к папке, в которой хранится файл TestApplication.cs. Так же обратите внимание, что здесь флаг /out не был указан явным образом, поэтому исполняемым файл получит имя TestApplication.ехе из-за того, что именем входного файла является TestApplication. Кроме того, для почти всех принимаемых компилятором C# флагов поддерживаются сокращенные версии написания, наподобие /t вместо /target (полный список которых можно увидеть, введя в командной строке команду csc -?).

Теперь можно попробовать запустить приложение TestApplication.ехе из командной строки, введя имя его исполняемого файла:

Запуск приложения через коммандную строку

Добавление ссылок на внешние сборки

Давайте посмотрим, как скомпилировать приложение, в котором используются типы, определенные в отдельной сборке .NET. Если осталось неясным, каким образом компилятору C# удалось понять ссылку на тип System.Console, вспомните, что во время процесса компиляции происходит автоматическое добавление ссылки на mscorlib.dll (если по какой-то необычной причине нужно отключить эту функцию, следует передать компилятору csc.exe параметр /nostdlib).

Модифицируем приложение TestApplication так, чтобы в нем открывалось окно сообщения Windows Forms. Для этого откройте файл TestApplication.cs и измените его следующим образом:

using System; using System.Windows.Forms; class TestApplication < static void Main() < Console.WriteLine(«Привет!»); MessageBox.Show(«Привет. «); >>

Далее в командной строке нужно проинформировать компилятор csc.exe о том, в какой сборке содержатся используемые пространства имен. Поскольку применялся класс MessageBox из пространства имен System.Windows.Forms, значит, нужно указать компилятору на сборку System.Windows.Forms.dll, что делается с помощью флага /reference (или его сокращенной версии /r):

Привязка ссылки на внешнюю сборку

Если теперь снова попробовать запустить приложение, то помимо консольного вывода в нем должно появиться еще и окно с сообщением:

Читайте также:
Как заархивировать папку программой winrar

Кстати, как поступить, когда необходимо указать csc.exe несколько внешних сборок? Для этого нужно просто перечислить все сборки через точку с запятой. В рассматриваемом примере ссылаться на несколько сборок не требуется, но ниже приведена команда, которая иллюстрирует перечисление множества сборок:

csc /r:System.Windows.Forms.dll;System.Drawing.dll *.cs

Компиляция нескольких файлов исходного кода

В текущем примере приложение TestApp.exe создавалось с использованием единственного файла исходного кода * . cs. Хотя определять все типы .NET в одном файле *.cs вполне допустимо, в большинстве случаев проекты формируются из нескольких файлов *.cs для придания кодовой базе большей гибкости. Чтобы стало понятнее, давайте создадим новый класс и сохраним его в отдельном файле по имени HelloMessage.cs:

// Класс HelloMessage using System; using System.Windows.Forms; class HelloMessage < public void Speak() < MessageBox.Show(«Привет!!») ; >>

Изменим исходный класс TestApplication так, чтобы в нем использовался класс этого нового типа:

using System; class TestApplication < static void Main() < Console.WriteLine(«Привет!»); HelloMessage v = new HelloMessage(); v.Speak(); >>

Чтобы скомпилировать файлы исходного кода на C# , необходимо их явно перечислить как входные файлы:

Компиляция нескольких файлов исходного кода

В качестве альтернативного варианта компилятор C# позволяет использовать групповой символ (*) для включения в текущую сборку всех файлов *.cs, которые содержатся в каталоге проекта:

Компиляция нескольких файлов исходного кода с использованием группового символа *

Вывод, получаемый после запуска этой программы, идентичен предыдущей программе. Единственное отличие между этими двумя приложениями связано с разнесением логики по нескольким файлам.

Работа с ответными файлами в C#

Как не трудно догадаться, для создания сложного приложения C# из командной строки потребовалось бы вводить утомительное количество входных параметров для уведомления компилятора о том, как он должен обрабатывать исходный код. Для облегчения этой задачи в компиляторе C# поддерживается использование так называемых ответных файлов (response files).

В ответных файлах C# размещаются все инструкции, которые должны использоваться в процессе компиляции текущей сборки. По соглашению эти файлы имеют расширение *.rsp (сокращение от response — ответ). Чтобы посмотреть на них в действии, давайте создадим ответный файл по имени TestApplication.rsp, содержащей следующие аргументы (комментарии в данном случае обозначаются символом #):

# Это ответный файл для примера # TestApplication.exe /r:System.Windows.Forms.dll # Параметры вывода и подлежащие компиляции файлы /target:exe /out:TestApplication.ехе *.cs

Компиляция ответного файла .rsp

Последним моментом, связанным с ответными файлами, о котором необходимо упомянуть, является то, что с компилятором C# ассоциирован ответный файл csc.rsp, который используется по умолчанию и размещен в том же самом каталоге, что и файл csc.ехе (обычно это С:WindowsMicrosoft. NETFramework, где на месте элемента идет номер конкретной версии платформы). Открыв файл csc.rsp в программе Notepad (Блокнот), можно увидеть, что в нем с помощью флага /r: указано множество сборок .NET, в том числе различные библиотеки для разработки веб-приложений, программирования с использованием технологии LINQ и обеспечения доступа к данным и прочие ключевые библиотеки (помимо, конечно же, самой главной библиотеки mscorlib.dll):

Параметры файла csc.rsp

При создании программ на C# с применением csc.ехе ссылка на этот ответный файл добавляется автоматически, даже когда указан специальный файл *.rsp. Из-за наличия такого ответного файла по умолчанию, рассматриваемое приложение TestApplication.ехе можно скомпилировать и c помощью следующей команды (поскольку в csc.rsp уже содержится ссылка на System.Windows.Forms.dll):

Стоит отметить, что в случае добавления с помощью опции /r ссылок на сборки, которые на самом деле не используются, компилятор их проигнорирует. Поэтому беспокоиться по поводу «разбухания кода» не нужно.

Дополнить страницу Вы можете помочь другим людям дополнив эту страницу вашими знаниями по данному вопросу!

Источник: codeplace.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru