2008-10-07 44 views
7

Là nhà phát triển tốt, chúng tôi giữ cho mã của chúng tôi tuân thủ tiêu chuẩn nhất có thể để giúp chuyển đổi giữa các nền tảng. Nhưng những công cụ nào có sẵn giúp chúng tôi xây dựng mã theo cách thống nhất trên nhiều nền tảng.Môi trường xây dựng nền tảng chéo

* gia đình nix có make nhưng Windows cần nmake.

Tôi đã đọc khoảng SCons nhưng không bao giờ sử dụng nó trong sự tức giận. Công cụ xây dựng yêu thích của bạn là gì, tại sao bạn thấy công cụ này hiệu quả và có bất kỳ giới hạn nào (tức là nền tảng có hỗ trợ kém, v.v.).

IDE nền tảng chéo là tốt.

+0

Bạn có nhớ một ngôn ngữ cụ thể không? –

+0

Tôi không hiểu ý bạn là gì, khi bạn nói rằng bạn chưa bao giờ sử dụng scons "tức giận". – grieve

+0

@grieve: Tôi đã đọc tài liệu, chơi với nó để thiết lập các dự án đồ chơi nhưng không bao giờ sử dụng nó trên một dự án có kích thước Doanh nghiệp. –

Trả lời

5

cmake cho môi trường c/C++ là tốt. http://www.cmake.org/

+0

Cú pháp khủng khiếp, nhưng nó tạo ra các tệp dự án studio trực quan gốc, không gây phiền toái. – Arafangion

4

Cá nhân tôi sử dụng kiến, cào và maven2. Tôi đã sử dụng kiến ​​nhiều nhất và thấy nó rất lớn vì nhiều lý do:

  • Bởi vì nó là java nó hoạt động trên nhiều nền tảng (mà không thay đổi bất kỳ kịch bản)

  • Các tập tin xây dựng được viết bằng XML và khá dễ dàng để viết

  • có rất nhiều các phần mở rộng bên thứ 3 có sẵn cho nó và nó rất dễ dàng để viết plugin cho

0

Nếu bạn đang ở trong thế giới Java, có khá nhiều công cụ có nền tảng chéo. Apache Ant và Maven là cả hai công cụ xây dựng sẽ chạy trên bất kỳ nền tảng nào có sẵn Java cho nó.

Kiểm soát hành trình (công cụ tích hợp liên tục) cũng hoạt động trên Windows và Linux (cũng được viết bằng Java).

Tôi chưa gặp phải vấn đề thực sự nào với các công cụ cốt lõi, những vấn đề duy nhất tôi gặp phải từ những thứ bên ngoài quá trình xây dựng, tức là xuất bản phẩm - điều này sẽ khác nhau giữa các hệ thống không có cách nào để thiết lập nó.

2

chúng tôi phát triển chéo cực, và mã của chúng tôi chạy trên linux, windows ce, windows 2K, hạt nhân và uCOS-II. vì mỗi môi trường sử dụng phương pháp 'thực hiện' khác nhau (ví dụ, khách hàng của hạt nhân, yêu cầu chúng tôi biên dịch thông qua GUI chiến lược mã).

tôi đã sử dụng ANT kết hợp với perl trong khoảng 2 năm, nhưng điều này dẫn đến việc xây dựng tập lệnh thành tổng số không bảo trì.

giờ chúng tôi đã chuyển sang sử dụng python, làm tăng khả năng bảo trì của tập lệnh.

dòng dưới cùng, tôi không tìm thấy công cụ làm sẵn và phải xây dựng công cụ của riêng mình. có lẽ, khi tôi có thời gian (2017?) tôi sẽ đóng gói các tập lệnh của mình và phân phối chúng ...

+0

Vì vậy, bạn chưa bao giờ tìm thấy sản phẩm CI hoạt động trên nền tảng chéo? – Tim

+0

Tùy thuộc vào kích thước và tính chất của các proyect, cán của riêng bạn có thể là sự lựa chọn tốt nhất của bạn. – WhyNotHugo

0

Để phát triển C/C++, tôi thấy rằng bakefile hoạt động tốt. Dự án wxWidgets khá lớn, một tiện ích đa nền tảng và tiện ích đa nền tảng đa nền tảng, sử dụng nó để tạo tệp xây dựng của họ.

Bakefile là trình tạo mã nguồn gốc của trình biên dịch chéo, trình biên dịch chéo.Nó có mô tả độc lập về trình biên dịch của các tác vụ xây dựng như đầu vào và tạo ra makefile gốc (makefile.in của autoconf, dự án Visual C++, bcc makefile, v.v.).

Nhiệm vụ của Bakefile là tạo các tệp makefiles gốc để mọi người có thể tiếp tục sử dụng các công cụ yêu thích của họ. Có các giải pháp tạo nền tảng khác, nhưng chúng không phải là bản địa và yêu cầu người dùng sử dụng các công cụ không quen thuộc (Boost.Build) hoặc chúng quá hạn chế (qmake).

0

Có những công cụ như Opus Make hoặc MKS Toolkit cung cấp nhiều nền tảng và hỗ trợ. Nếu bạn có một codebase hiện có của kịch bản, có thể dễ dàng di chuyển đến một trong số đó. Tôi nghi ngờ bạn có thể tìm kiếm các công cụ tương tự trong quảng cáo của tạp chí DDJ.

0

Chúng tôi đã chạy môi trường Java cho Linux, Windows và Mac trong 18 tháng qua.

  • Maven 2 thúc đẩy xây dựng của chúng tôi, thật dễ dàng để mọi thứ nhất quán ở đây. Khi các plugin M2 không dám chạy, chúng tôi sử dụng các tập lệnh Ant nhỏ.
  • IDE-khôn ngoan chúng tôi đang sử dụng Eclipse & IDEA - cả hai, tất nhiên, đa nền tảng.
  • Kiểm tra - JUnit, Fitnesse, Fest - tất cả các nền tảng độc đáo.
  • Các tập lệnh phát hành được viết bằng Ruby. Có một chút rắc rối với Windows ở đây, nhưng một chức năng để chuyển đổi đường dẫn khi cần thiết thường làm các trick.
  • TeamCity thực hiện CI. Chúng tôi đã thực sự di chuyển này từ Windows sang Linux và không gặp phải lỗi nào cả, gói rất hay.

Chúng tôi đã sử dụng GWT một thời gian và điều này đã gây ra cho chúng tôi một lượng lớn đau. Hãy cẩn thận nếu bạn xoay theo cách đó.

+0

Bạn có quan tâm đến các vấn đề liên quan đến biên dịch gwt và nền tảng chéo không? – WhyNotHugo

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