2010-01-05 38 views
8

Tôi đang làm việc trên một dự án C++ và gần đây chúng tôi cần bao gồm một phần nhỏ trong đó. Phần thúc đẩy thực sự là tối thiểu (Boost :: Python), do đó, sử dụng bjam để xây dựng mọi thứ trông giống như một overkill (bên cạnh đó, tất cả mọi người làm việc trên dự án đều cảm thấy thoải mái khi thực hiện và không biết mứt).Làm thế nào để xây dựng một dự án phụ thuộc tăng cường bằng cách sử dụng makefiles thông thường?

Tôi đã thực hiện một số thử nghiệm đã có, nhưng tôi không thể tìm thấy một cách để bao gồm các thư viện được đề cập trước đây trong makefile của tôi và làm cho xây dựng thành công.

Tất cả sự trợ giúp của bạn được đánh giá cao. :)

Trả lời

2

Tôi gặp sự cố tương tự và đã tìm thấy giải pháp trong tutorial này. Bạn 1) cần phải biên dịch nguồn thành tệp đối tượng với tùy chọn -fPIC gcc và 2) biên dịch đối tượng này vào thư viện với tùy chọn -shared gcc. Tất nhiên bạn cũng phải liên kết với thư viện Boost.Python (thường là -lboost_python, tuy nhiên đối với hệ thống debian của tôi là ví dụ -lboost_python-mt-py25, tôi cũng phải thêm -I/usr/include/pythyon25). Trong makefile của tôi, tôi sẽ thực hiện hai bước trong một lệnh. Xem thêm p. 13 của số này presentation.

+0

Cảm ơn bạn. Đây chính là câu trả lời tôi đang tìm kiếm. :) – Fabzter

1

Nếu bạn không thoải mái với bjam, bạn có thể cân nhắc sử dụng Boost.Cmake.
Hoặc bạn nên ít nhất có thể thấy dễ dàng hơn những gì họ đang làm sau đó với các tập tin bjam.

1

Run bjam từ makefile, chỉ cần để xây dựng một phần

4

Bạn có thể sử dụng Boost của bcp utility để chỉ trích xuất các tập hợp con của Boost bạn cần. Điều đó sẽ giảm thiểu thời gian xây dựng của bạn & kích thước.

Điều đó không trả lời câu hỏi của bạn. Bạn có thể muốn xem xét việc xây dựng các thư viện Boost.Python riêng biệt và kiểm tra chúng trực tiếp vào hệ thống kiểm soát nguồn của bạn. Thế thì không ai cần phải xây dựng chúng.

Các vấn đề liên quan