Hầu hết C++ xây dựng hệ thống đó vẫn còn tồn tại, làm như vậy vì một lý do. Mà là để nói, họ là tốt hơn so với các lựa chọn thay thế trong một số cách. (Ngoại trừ các hệ thống xây dựng mà bạn đã viết XML, xin lỗi ANT)
Nhưng nói chung, chúng tôi thấy một số mẫu sử dụng xuất hiện.
Bạn nói chung chỉ thấy các dự án IDE được sử dụng cho MSVC và XCode. Điều này là do sự tích hợp tốt hơn, với IDE, vâng. Nhưng quan trọng hơn, Nền tảng. VC++ được hỗ trợ đặc biệt bởi các dự án IDE, và nói chung có sự hỗ trợ rất kém, ngoại trừ những thứ mà cuối cùng tạo ra các dự án. Tôi đã không bao giờ nhìn thấy một dự án c + + mà xây dựng với nhật thực, nhưng điều đó có thể liên quan đến việc không bao giờ nhìn thấy các lập trình viên C++, người viết mã trong Eclipse.
Trên nền tảng Unix, bạn thường thấy một số biến thể của Makefiles đang được sử dụng. Dường như điều này liên quan đến việc muốn có một kẻ phản diện ít phổ biến nhất để xây dựng các dự án từ, vì hầu hết mã được phân phối dưới dạng mã nguồn.
Các dự án như CMake (dự án tạo ra) thường được sử dụng khi nền tảng độc lập là ưu tiên hàng đầu, bạn đạt được một số chi phí do tạo ra các bước xây dựng, nhưng có thể xây dựng dự án trên nhiều nền tảng từ một buildbase.
Tôi thực sự chỉ thấy ANT được sử dụng để thực hiện các bản dựng liên tục, và thậm chí sau đó, thường nó gọi là bước xây dựng riêng biệt, tôi không chắc chắn tại sao lại như vậy.
Sau đó, tôi cũng đã thấy rất nhiều cách sử dụng cho những thứ như Jam (thay thế) trong các dự án độc quyền nhắm mục tiêu * nix/Mac hoặc các nền tảng ít phổ biến hơn. Đặc biệt trong phát triển trò chơi, tôi nghĩ điều này nói chung là từ các đội như Make in theory (Khái niệm xử lý nguồn xây dựng của bạn như bạn đối xử với mã của bạn, không có WYSIWYG và những thứ tương tự) nhưng hiểu rằng Make is broken. Tuy nhiên, có sự sang trọng của việc không phải phân phối nguồn.
Đây chỉ là một loạt các mẫu mà tôi đã quan sát và cố gắng hợp lý hoá nó, rất ít trong số này dựa trên các sự thật khách quan.
Ưu tiên nền tảng chéo hay chúng ta đang nói đến một nền tảng cụ thể? –