Tôi đang triển khai trên một số mã C++ mà tôi muốn tạo càng dễ dàng càng tốt. Tôi muốn tránh các phụ thuộc trên các thư viện yêu cầu quyền truy cập gốc để cài đặt. Hơn nữa, tôi muốn tránh giữ bản sao của các thư viện lớn trong kho lưu trữ của mình và tôi cũng không thích cài đặt các thư viện cấp người dùng (đơn giản là vì tôi phải cài đặt chúng theo cách thủ công trên nhiều máy tính.)Biên dịch với các thư viện Boost cá nhân, Không cần cài đặt Boost
Tôi muốn sử dụng chức năng normal_distribution
từ Tăng cường trong dự án của tôi. Tôi hiểu rằng cách điển hình để cài đặt Boost yêu cầu loại lệnh sudo apt-get
hoặc sudo yum
nhưng tôi không có quyền truy cập root trên các hệ thống mà mã này sẽ chạy. Để giải quyết vấn đề này, tôi tự hỏi liệu tôi có thể đặt một bản sao của Boost's normal_distribution.cpp và normal_distribution.hpp vào thư mục mã của tôi và biên dịch/liên kết mã của tôi với những tệp này hay không. Điều này có hiệu quả không?
Người đọc có thể thắc mắc tại sao tôi không chỉ sử dụng triển khai normal_distribution
trong TR1 hoặc C++ 11. Câu trả lời là tôi cần duy trì khả năng tương thích với một số cụm được quản lý bởi trường đại học mà vẫn chạy g ++ 4.1.x, mà (ít nhất là theo kinh nghiệm của tôi) không hỗ trợ <TR1/random>
.
Lưu ý phụ: Dự án tôi đang thực hiện không có lợi nhuận và sẽ không vi phạm bất kỳ điều khoản cấp phép nào của Boost. – solvingPuzzles
boost có một tiện ích để trích xuất các phụ thuộc cho bất kỳ tiêu đề nào. nó không hoàn toàn 100%, nhưng công việc thủ công được giảm đáng kể. kiểm tra xem nó ra. –
Cảm ơn, Alf. Tôi đã xem xét việc sử dụng BCP (http://www.boost.org/doc/libs/1_50_0/tools/bcp/doc/html/index.html) để trích xuất các phụ thuộc - tôi vẫn có thể sử dụng nó. Tuy nhiên, không chắc chắn về đường cong học tập như thế nào đối với BCP, tôi có thể thấy có bất kỳ điều gì dễ dàng hơn trước khi thử BCP hay không. – solvingPuzzles