Delphi XE2: не удалось с помощью dcc32.exe скомпилировать простую программу - PullRequest
9 голосов
/ 07 сентября 2011

После установки Delphi XE2 я пытаюсь скомпилировать командную строку dcc32.exe, чтобы скомпилировать простую программу:

program test;

uses SysUtils;

begin
end.

Компилятор командной строки показывает мне ошибку:

c:> dcc32.exe test.dpr
Embarcadero Delphi для Win32 версии 23.0 Авторское право (c) 1983,2011 Embarcadero Technologies, Inc.
test.dpr (3) Фатально: F1026 Файл не найден: 'SysUtils.dcu'

Этого не происходит с Delphi XE.

Ответы [ 4 ]

29 голосов
/ 07 сентября 2011

Если вы просто хотите использовать командную строку (без dcc32.cfg), параметр командной строки, который вы ищете, это -NS, чтобы указать пространства имен для поиска в ...

Итак, у вас будет что-то вроде этого:

dcc32.exe -NSsystem;vcl test.dpr

Это должно заставить компилятор искать модули в пространствах имен System и VCL (добавлен VCL, чтобы показать, как добавить более одного пространства имен).

Эта информация была найдена на форумах Embarcadero . У меня еще нет XE2, поэтому я не смог его протестировать.

13 голосов
/ 07 сентября 2011

Из-за новых пространств имен в RTL и VCL необходимо указать дополнительный параметр командной строки для компилятора. Попробуйте "-NSSystem; System.Win; WinAPI; Vcl; Vcl.Imaging; Данные" и добавьте другие пространства имен при необходимости.

8 голосов
/ 07 сентября 2011

Я знаю, что это не ответ на ваш прямой вопрос (об этом говорили Уве и Нат), но вам было бы намного лучше строить с msbuild.Таким образом, вы получите все настройки в вашем файле .dproj.

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

msbuild test.dproj /t:Rebuild /p:Config=Release

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

call "path\to\delphi\installation\bin\rsvars.bat"
msbuild test.dproj /t:Rebuild /p:Config=Release
0 голосов
/ 07 сентября 2011

Если вы используете ПК или ноутбук Hewlett Packard, вам, вероятно, потребуется удалить параметр среды «Платформа» (в Windows). Предварительно сконфигурированный (заводской) HP windows7 имеет (по неизвестным мне причинам) переменную среды Platform = AnyCPU. Это влияет на Delphi XE2. Я нашел эту дискуссию вчера вечером, которая помогла мне: https://forums.embarcadero.com/thread.jspa?messageID=387525&tstart=0 Без этого исправления я не смог ничего скомпилировать. Это подавит VCL и FireMonkey, неважно, нацелился я на 64 или 32-битную версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...