2012-03-12 33 views
7

Tôi biết có DSSS, BUD/build, Orbit bởi Jacob Carlborg và chính thức rdmd. Và chỉ Orbit dường như hoạt động. Vì vậy, cái nào trong số này có thể sử dụng nhiều nhất để xây dựng các chương trình D lớn, phức tạp với nhiều phụ thuộc? Không cần đóng gói, chỉ cần trợ giúp quy trình xây dựng đẹp và rõ ràng.Hệ thống xây dựng thực tế cho D

+1

tôi vừa tạo ra các tập tin batch đầu tiên chạy với 'cờ -c' và '-obbin /' và sau đó chạy các mối liên kết vào thư mục bin –

+0

* .bat/*. sh tập tin - yep, nó làm việc, nhưng một cái gì đó như tốt đẹp Visual Studio GUI sẽ tốt hơn. Plugin đơn giản cho nó đã tồn tại và tôi đang sử dụng nó.Dreams-dreams :) – Raxillan

+0

Tôi khá chắc chắn rằng tôi có thể tạo ra một cái gì đó bản thân mình sẽ xử lý tất cả các phụ thuộc tự động, sẽ cho phép nhiều phương pháp chính được biên dịch trong thư mục bin và chạy unittests cụ thể theo yêu cầu. nhưng tôi không thực sự có thời gian cho điều đó bây giờ –

Trả lời

4

Họ quá, một mẫu để sử dụng makefile đây: MakefileForD

tại sao sử dụng nó:

  • dễ sử dụng
  • hỗ trợ tất cả các trình biên dịch
  • thể xây dựng cả lib chia sẻ và tĩnh hoặc thực thi
  • // build
4

Không phải là một sản phẩm hoàn chỉnh nhưng ....

DMD đã có một -deps flag rằng nên tự động tạo ra file make hợp lý đơn giản.

1

Tôi chắc chắn sẽ tranh luận cho rdmd - đó là một trợ giúp tuyệt vời để bao quanh trình biên dịch yêu thích của bạn. Sử dụng cơ bản từ tài liệu là:

rdmd [rdmd args] [compiler args] <source file>[.d] [executable args] 

Trong tất cả các dự án D của tôi, tôi đã sử dụng kịch bản Bash (với Cygwin nếu trên Windows) và nó hoạt động rất tuyệt vời. Dưới đây là một số đoạn yêu thích của tôi:

Run

Toàn bộ raison d'être của rdmd là để đơn giản hóa chu trình biên dịch-edit-run để chỉnh sửa hạn, và nó làm cho rằng khá đơn giản:

rdmd helloworld.d [args] 

rdmd sẽ không chạy bất kỳ tệp nào có dấu thời gian gần đây hơn so với lần biên dịch cuối cùng, vì vậy lần sau bạn chạy cho cùng một tệp nguồn mà không cần chỉnh sửa sẽ đơn giản chuyển đến tệp thực thi được biên dịch trước đó.

Chọn Compiler

Mặc dù cái tên, bạn có thể sử dụng hầu hết các trình biên dịch với rdmd như GDC, LDC, và DMD như vậy:

rdmd --compiler=dmd ... 

tích xây dựng:

thường rdmd cửa hàng thực thi và *.obj tệp từ nguồn của bạn trong thư mục tạm thời bằng cách sử dụng tmpDir() trong nguồn rdmd - đây là về cơ bản một số phép thuật để cung cấp cho rdmd cảm giác chạy các tệp *.d dưới dạng tập lệnh. Bạn có thể, tuy nhiên, chỉ định các tập tin đầu ra với -of cờ:

rdmd -of"helloworld.exe" helloworld.d 
Các vấn đề liên quan