2011-09-07 39 views
8

Sau khi cài đặt Delphi XE2, tôi cố gắng lệnh biên dịch dòng dcc32.exe để biên dịch một chương trình đơn giản:Delphi XE2: thất bại sử dụng dcc32.exe để biên dịch một chương trình đơn giản

program test; 

uses SysUtils; 

begin 
end. 

Các dòng lệnh trình biên dịch chỉ cho tôi lỗi:

c:> dcc32.exe test.dpr
Embarcadero Delphi for Win32 compiler version 23.0 Copyright (c) 1983,2011 Embarcadero Technologies, Inc.
test.dpr(3) Fatal: F1026 File not found: 'SysUtils.dcu'

Điều này không xảy ra với xe Delphi.

Trả lời

28

Nếu bạn chỉ muốn sử dụng dòng lệnh (không dcc32.cfg), tham số dòng lệnh bạn đang tìm kiếm là -NS để xác định không gian tên để tìm kiếm trong ...

Vì vậy, bạn sẽ phải một cái gì đó như thế này:

dcc32.exe -NSsystem;vcl test.dpr 

này nên làm cho giao diện trình biên dịch cho các đơn vị trong SystemVCL namespace (VCL thêm để hiển thị như thế nào để thêm nhiều hơn một không gian tên).

Thông tin này được tìm thấy trên Embarcadero Discussion Forums. Tôi chưa có XE2 nên tôi không thể kiểm tra nó.

8

Tôi biết nó không phải là câu trả lời cho câu hỏi trực tiếp của bạn (Uwe và Nat đã được bảo hiểm), nhưng bạn sẽ được tốt hơn off xây dựng với msbuild. Bằng cách đó, bạn sẽ nhận tất cả các cài đặt trong tệp .dproj của mình.

Việc xây dựng lệnh sẽ trông như thế này:

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

Nếu bạn đang xây dựng này từ một kịch bản hàng loạt, bạn sẽ cần phải chắc chắn rằng nó có thể thấy quyền msbuild. Làm như sau:

call "path\to\delphi\installation\bin\rsvars.bat" 
msbuild test.dproj /t:Rebuild /p:Config=Release 
+1

Làm thế nào để bạn tạo dproj? Tôi giả sử kể từ khi ông biên dịch trên cmdline ông không muốn bắt đầu Delphi cho nó. –

+1

@Marco .dproj là một phần của mã nguồn trong các phiên bản delphi gần đây. Nó được duy trì bởi IDE và chứa các cấu hình dự án của bạn. –

+1

Tôi không hiểu ý của bạn. Đó là một dự án chuẩn (GUI) chắc chắn, nhưng đối với các trường hợp thông thường, bạn không quay lại cmdline. –

13

Do không gian tên mới trong RTL và VCL bạn phải chỉ định tham số dòng lệnh bổ sung cho trình biên dịch. Hãy thử "-NSSystem; System.Win; WinAPI; Vcl; Vcl.Imaging; Dữ liệu" và thêm các không gian tên khác nếu cần.

-1

Nếu bạn đang sử dụng PC hoặc Máy tính xách tay Hewlett Packard, có thể bạn sẽ cần phải loại bỏ cài đặt môi trường "Nền tảng" (trong cửa sổ). Cửa sổ HP đã được cấu hình sẵn (nhà máy) (có lý do không biết đến tôi) một biến môi trường Platform = AnyCPU. Điều này ảnh hưởng đến Delphi XE2. Tôi đã tìm thấy cuộc thảo luận này tối qua, đã giúp tôi: https://forums.embarcadero.com/thread.jspa?messageID=387525&tstart=0 Nếu không có sửa chữa đó, tôi không thể biên dịch bất cứ điều gì. Nó sẽ bị nghẹt thở trên VCL và FireMonkey, không quan trọng nếu tôi nhắm mục tiêu 64 hoặc 32-bit.

+0

Điều đó chỉ áp dụng khi biên dịch tệp .dproj, chứ không phải tệp .dpr, không có thông số kỹ thuật Nền tảng trong đó. –

Các vấn đề liên quan