Tôi luôn sử dụng Visual Studio được xây dựng trong giao diện hỗ trợ để định cấu hình dự án của mình, thường sử dụng trang thuộc tính để một số dự án sử dụng một bộ chung.Sử dụng thuộc tính dự án Visual Studio hiệu quả cho nhiều dự án và cấu hình
Một trong những ứng dụng chính của tôi là quản lý nhiều dự án, cấu hình và nền tảng. Nếu bạn chỉ làm mọi thứ với GUI chính (nhấn chuột phải vào project -> properties) nó nhanh chóng trở thành một mớ hỗn độn, khó duy trì và dễ bị lỗi (như không định nghĩa chính xác một số macro, hoặc sử dụng thư viện runtime sai, vv). Đối phó với thực tế là những người khác nhau đặt thư viện phụ thuộc vào những nơi khác nhau (ví dụ: tất cả tôi sống trong "C: \ Libs \ [C, C++] \ [lib-name] \") và sau đó thường quản lý các phiên bản khác nhau của các thư viện đó khác nhau (release, debug, x86, x64, etc) cũng là một vấn đề lớn vì nó làm phức tạp thời gian để thiết lập nó trên một hệ thống mới, và sau đó có vấn đề với việc kiểm soát phiên bản và giữ đường dẫn của mọi người riêng biệt ..
Các trang thuộc tính làm cho nó tốt hơn một chút, nhưng tôi không thể có một trang có cài đặt riêng cho các cấu hình và nền tảng khác nhau (hộp thả xuống màu xám), dẫn đến việc tôi có nhiều trang tính nếu được kế thừa theo đúng thứ tự làm những gì tôi muốn ("x86", "x64", "gỡ lỗi", "phát hành", "phổ biến", "thư mục" (giao dịch với vấn đề phụ thuộc đã đề cập trước đây bằng cách xác định macro người dùng như BoostX86LibDir), v.v. d theo thứ tự sai (ví dụ "thông thường" trước "x64" và "gỡ rối") dẫn đến các sự cố như cố gắng liên kết phiên bản thư viện không chính xác hoặc đặt tên không chính xác ...
Điều tôi muốn là một cách xử lý tất cả các phụ thuộc phân tán này và thiết lập một bộ "quy tắc" được tất cả các dự án của tôi sử dụng trong giải pháp, như đặt tên thư viện đầu ra là "mylib- [vc90, vc100] - [x86, x64] [- d] .lib ", mà không phải thực hiện tất cả điều này cho từng dự án, cấu hình và nền tảng kết hợp riêng lẻ, và sau đó giữ chúng hoàn toàn đồng bộ.
Tôi biết chuyển sang các hệ thống hoàn toàn khác như CMake tạo các tệp cần thiết, tuy nhiên điều này làm phức tạp mọi thứ bằng cách làm cho nó trở nên đơn giản như thêm một tệp mới vào dự án. không phải cái gì tôi hoàn toàn hài lòng với một trong hai, trừ khi có một số với hội nhập VS2010 có thể theo dõi các loại thay đổi.
Tôi cảm thấy đau của bạn: Chúng tôi có hơn 600 vcproj trong sản phẩm của chúng tôi tại nơi làm việc. :( –