Trong sự phát triển (chủ yếu là C ++) của tôi, từ lâu tôi đã tuân thủ việc sử dụng các bản dựng ngoài nguồn. Đó là, nguồn của tôi thường ngồi trong một /project/src
thư mục và xây dựng sống trong một /project/build/bin/release
, /project/build/bin/debug
thư mục. Tôi đã làm điều này bởi vì nó giữ cho các thư mục nguồn của tôi sạch khỏi các tệp trung gian, tôi có một vị trí cho tất cả các tệp nhị phân của mình, đóng gói dễ dàng hơn, làm sạch dễ dàng hơn và kiểm soát phiên bản dễ dàng hơn. (Tôi có bỏ lỡ điều gì không?)
Tôi hiện đang kế thừa một dự án (lớn) sử dụng các bản dựng trong nguồn. Động lực cho loại cấu trúc này là gì và lợi thế của nó là gì? (Tôi quan tâm nhất đến lý do cấp kỹ thuật so với loại lý do sở thích cá nhân.)
Tôi đã hy vọng "Thiết kế phần mềm C ++ quy mô lớn" của Lakos sẽ cân nhắc về nó, nhưng tôi đã bỏ lỡ nó nếu nó xảy ra.
/project/src/bin/release
, hoặc thực sự tất cả các tập tin trung gian và đầu ra trong /project/src
? Cái sau có thể thực sự là một mớ hỗn độn nếu có hơn một chục tệp nguồn, cái trước là ok.
main.cpp
ban đầu ở cấp cao nhất của dự án của bạn, nó vẫn tạo một thư mục xây dựng cmake riêng biệt với nguồn của bạn ở cấp cao nhất đó. Tôi tin rằng MSVS cũng tương tự như Clion về vấn đề này.