2011-10-30 39 views
6

Tôi đang cố gắng xây dựng thư viện tăng cường trên máy tính Windows 7 x64 bằng cách sử dụng mingw. Khi tôi cố gắng chạy b2Xây dựng Boost trên Windows

b2 --build-dir="C:\boost\build" --toolset=gcc --with-python 

để xây dựng các thư viện tôi nhận được một lỗi

Jamroot:138: in modules.load 
rule boostcpp.set-version unknown in module Jamfile</C:/Users/root/Downloads/boost_1_47_0>. 
C:/Users/root/Downloads/boost_1_47_0/tools/build/v2/build\project.jam:314: in load-jamfile 
C:/Users/root/Downloads/boost_1_47_0/tools/build/v2/build\project.jam:62: in load 
C:/Users/root/Downloads/boost_1_47_0/tools/build/v2/build\project.jam:168: in project.find 
C:/Users/root/Downloads/boost_1_47_0/tools/build/v2\build-system.jam:570: in load 
C:\Users\root\Downloads\boost_1_47_0\tools\build\v2/kernel\modules.jam:283: in import 
C:\Users\root\Downloads\boost_1_47_0\tools\build\v2\kernel\bootstrap.jam:142: in boost-build 
C:\Users\root\Downloads\boost_1_47_0\boost-build.jam:17: in module scope 

Tôi đang làm gì sai và làm thế nào để sửa chữa nó? Any help is appreciated

Cảm ơn

Edit:

Tôi muốn sử dụng thư viện tăng với sdk qt, trong đó sử dụng mingw. Đó là lý do tại sao tôi không thể sử dụng trình cài đặt tăng cường. Tất nhiên, trừ khi tôi không tìm được giải pháp cho vấn đề này, tôi sẽ phải sử dụng qt được xây dựng với msvc.

+0

Tại sao bạn không sử dụng [trình cài đặt] (http://www.boostpro.com/download/) thay thế? Nó làm cho mọi thứ trở nên dễ dàng. –

+1

'bjam' được cho là hoạt động. Sử dụng trình cài đặt là một cách giải quyết, nhưng nó không giải quyết được vấn đề cơ bản. –

+0

Tôi giả sử bạn có nghĩa là '--toolset = gcc' thay vì' toolset = gcc' – nickb

Trả lời

5

Đây là tutorial Tôi đã viết để biên dịch Boost 1.45.0 trên Windows 7 bằng cách sử dụng MinGW. Tôi sao chép hướng dẫn tại đây trong trường hợp ngắt liên kết:

1) Trước tiên, chúng tôi cần biên dịch Boost. Chúng tôi sẽ sử dụng phiên bản mới nhất của Boost: 1.45.0 (có lẽ không phải là phiên bản mới nhất tại thời điểm bạn sẽ đọc hướng dẫn này

1.1.) Tải về nguồn Boost:

1.2) Để biên dịch Boost, chúng tôi cần sử dụng BJam. Nguồn của BJam được bao gồm trong các nguồn của boost. Tuy nhiên, chúng ta không thể sử dụng nhị phân của BJam: chúng ta phải biên dịch nó vì vấn đề sau: http://comments.gmane.org/gmane.comp.lib.boost.user/64146.

Để biên dịch BJam, hãy chuyển đến nguồn của Boost, tìm build.bat (nên được đặt trong \ boost_1_45_0 \ tools \ build \ v2 \ engine \ src), chạy cmd, cd vào thư mục build.bat và thực thi: build.bat gcc (source)

Biên dịch kéo dài dưới 30 giây.

1.3) Khi BJam được biên dịch, giờ đây chúng tôi có thể biên dịch Boost. Thêm bjam.exe trong $ PATH, chạy cmd, cd \ boost_1_45_0 sau đó thực hiện:

bjam --toolset=gcc "--prefix=C:\DestinationFolder" install 

nơi DestinationFolder là bất cứ điều gì đường dẫn thư mục bạn muốn (source).

Biên soạn kéo dài khoảng 30 phút.

+0

Nó không hoạt động. Tôi gặp lỗi tương tự. – Martynas

1

Đối với những người chỉ cần 32 bit, STL's Mingw Distro đã tăng cường bao gồm tất cả các lib đã được tạo cho nó.

+0

Điều này không có libboost_python được xây dựng - một thư viện tôi cần. Tôi có thể sẽ chuyển sang studio hình ảnh 2008. – Martynas

+0

@Martynas O.K .. – Shadow2531

2

Chủ đề này là một năm cũ, nhưng tôi đã có cùng một vấn đề và nhận được nó làm việc, vì vậy trong trường hợp bất cứ ai khác cần một giải pháp, đây là của tôi.

bjam đang tìm kiếm tệp có tên là "boostcpp.jam" không tồn tại trong phiên bản sản xuất tăng. May mắn thay, bạn có thể tìm thấy nó trên github.

https://github.com/iNiKe/boost/blob/master/boostcpp.jam

Tải tập tin đó (hoặc sao chép-dán nó từ trình duyệt của bạn vào một tập tin mới) và lưu nó như là "boostcpp.jam" trong thư mục boost của bạn (hoặc có lẽ đó là vị trí mà bạn chạy bjam từ ... chúng xảy ra cùng một thư mục trong tình huống của tôi) và chạy lại lệnh. Hy vọng rằng nó sẽ làm việc cho bạn quá.

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