Câu trả lời:
Như một câu trả lời ngắn gọn:
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete
Như một câu trả lời dài hơn, đây là ghi chú xây dựng của tôi để có các thư viện tăng cường VS .NET 2008 32-bit và 64-bit trong cùng một hệ thống phân cấp (tôi nghi ngờ là một trường hợp sử dụng phổ biến):
Xây dựng mã nhị phân win32
bjam --toolset=msvc-9.0 --build-type=complete stage
Tạo thư mục lib \ win32
Xây dựng các tệp nhị phân x64
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
Tạo thư mục lib \ x64
Tôi đã có các tệp nhị phân được xây dựng trên trang web của mình: http://boost.teeks99.com
Chỉnh sửa 2013-05-13: Các bản dựng của tôi hiện có sẵn (bắt đầu từ 1.53) trực tiếp từ trang sourceforge .
CẬP NHẬT (19.09.2017): đã thêm dòng tập lệnh cho VS2017. Xin lưu ý rằng Boost hỗ trợ trình biên dịch VS2017 từ một phiên bản nhất định ở trên. Tôi đã sử dụng phiên bản mới nhất (1.65.1).
Tôi đã sử dụng tập lệnh này để xây dựng tăng cường cho các nền tảng x64 và x86, lib và dll, gỡ lỗi và phát hành cho VS2017, VS2015 và VS2013:
md stage\VS2017\x64
md stage\VS2015\x64
md stage\VS2013\x64
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release
md stage\VS2017\win32
md stage\VS2015\win32
md stage\VS2013\win32
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release
pause
Bạn có thể tạo một .bat
tệp và chạy nó để tạo các tệp nhị phân tăng cường của bạn.
Tại thời điểm này, các mã nhị phân 64 bit được cung cấp bởi teeks99 (xem câu trả lời khác) dường như là các mã nhị phân 64 bit miễn phí duy nhất xung quanh. Trong một thời gian, BoostPro cũng cung cấp các mã nhị phân 64-bit, nhưng kể từ 1.51, chúng dường như không hoạt động hoặc kinh doanh.
Vì vậy, chúng tôi quay lại với hai lựa chọn một lần nữa: nhị phân teeks99 hoặc xây dựng của riêng bạn.
Hầu hết thông tin tôi cần để tự xây dựng đều có ở đây: https://stackoverflow.com/a/2655683/613288
Điều duy nhất còn thiếu là làm thế nào để điều này hoạt động với phiên bản miễn phí của Visual Studio 2010 Express. Tôi đã tìm thấy phần còn thiếu ở một nơi khác và sau một số tùy chỉnh, công thức cuối cùng mà tôi sử dụng cho việc xây dựng mã nhị phân boost 1.49.0 của mình là:
Khởi động Visual C ++, và từ menu Công cụ, hãy bắt đầu Visual Studio Command Prompt.
Trong cửa sổ bảng điều khiển, hãy làm như sau:
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd" /Release /x64
và sau đó trong thư mục tăng cường:
bootstrap.bat
b2 -a -sBZIP2_SOURCE="C:\bzip2-1.0.6" -sZLIB_SOURCE="C:\zlib-1.2.5" --toolset=msvc-10.0 architecture=x86 address-model=64 link=static --with-date_time --with-filesystem --with-serialization --with-test --with-thread --with-system --with-regex --with-iostreams stage
Lệnh cuối cùng được tùy chỉnh cho những gì tôi cần (chỉ là một số thư viện được liên kết tĩnh).
Tôi đã tạo cho tôi một tập lệnh nhỏ biên dịch tất cả chúng cho VS2005 và VS2008:
md stage\lib\win32
md stage\lib\x64
REM Visual Studio 2005
bjam --toolset=msvc-8.0 --build-type=complete stage
move /Y stage\lib\* stage\lib\win32\
bjam --toolset=msvc-8.0 address-model=64 --build-type=complete stage
move /Y stage\lib\* stage\lib\x64\
REM Visual Studio 2008
bjam --toolset=msvc-9.0 --build-type=complete stage
move /Y stage\lib\* stage\lib\win32\
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
move /Y stage\lib\* stage\lib\x64\