Thật không may, tôi nhận thấy rằng tab C/C++ Build không cho phép bạn đặt vị trí xây dựng trừ khi bạn tạo trang makefile của riêng mình.
Bạn đã có thể phát hiện ra rằng Builder Cài đặt tab dưới Project Properties> C/C++ Build là tất cả chuyển sang màu xám trong một/C++ Dự án mặc định C. Điều này là do CDT chỉ định trình xây dựng nội bộ theo mặc định cho các dự án mới. Để thay đổi điều này, bạn có thể chuyển đến Thuộc tính dự án> C/C++ Build> Công cụ biên tập chuỗi và thay đổi Bộ dựng hiện tại thành Gnu Make Builder. Tiếp theo, chuyển đến Thuộc tính dự án> C/C++ Build và thay đổi Loại Builder thành Bộ dựng ngoài. Bây giờ bạn có thể chọn tạo ra makefile của riêng bạn cho dự án, nếu bạn thích; mặc dù tôi khuyên bạn nên để CDT tự động xây dựng makefile ngay bây giờ.
Tôi có cùng yêu cầu dự án để xuất ra một/project_path/bin (mặc dù tôi vẫn duy trì sự tách biệt giữa các bản dựng Gỡ lỗi và Bản phát hành). Để thực hiện điều này, tôi thực hiện thao tác sao chép trên đầu ra dưới dạng bước đăng bài.
Để thực hiện việc này, hãy truy cập Thuộc tính dự án> Xây dựng C/C++> Cài đặt và chọn tab Xây dựng bước. Trong Post-build bước dưới Command:, hãy nhập:
cp ${BuildArtifactFilePrefix}${BuildArtifactFileName} "/path/to/bin/directory/";
Rõ ràng thay thế "/ path/to/bin/thư mục /" theo yêu cầu.
Cá nhân tôi muốn duy trì các tệp dự án của mình trong một thư mục không gian làm việc/xây dựng; sao chép các tệp nhị phân vào thư mục và thư viện không gian làm việc/bin vào một thư mục không gian làm việc/lib. Lúc đầu, tôi thấy bản sửa lỗi bản sao này là một sự bất tiện, nhưng đã đến để đánh giá cao nó bởi vì nó cô lập các tệp xây dựng xen kẽ từ nhị phân/thư viện cuối cùng.
Đối với những chương trình, tôi sẽ sử dụng:
cp ${BuildArtifactFilePrefix}${BuildArtifactFileName} "${WorkspaceDirPath}/bin/";
Đối với thư viện, tôi sẽ sử dụng:
cp ${BuildArtifactFilePrefix}${BuildArtifactFileName} "${WorkspaceDirPath}/lib/";
tôi bao gồm biến "$ {BuildArtifactFilePrefix}" vì CDT bao gồm "lib" như một tiền tố mặc định cho các thư viện tĩnh mà tôi thực sự thích.
Bạn chỉ cần đảm bảo rằng thư mục đích tồn tại trước khi xây dựng; Eclipse/CDT sẽ không tạo thư mục cho bạn.
Ngoài ra, chỉ cần nhớ rằng các bản sao này sẽ bị tụt hậu trong /bin hoặc /lib thư mục trên sạch sẽ, nhưng ghi đè trên bất kỳ sau đó xây dựng lại.
Giải pháp tuyệt vời, cảm ơn –
Có một tùy chọn cho bước sau xây dựng, do đó, điều dễ nhất là để nó xây dựng vị trí và nếu hoạt động, hãy sử dụng bước xây dựng để sao chép/di chuyển/liên kết nó. Có một macro đặc biệt cho Debug hoặc Release vì vậy tôi có thể sử dụng macro phổ biến cho cả hai cấu hình? – CashCow