Bình thường thì phải build bằng dòng lệnh, nhưng có một UI để build Boost thế này cho các bạn dễ nhìn:
https://bitbucket.org/Vertexwahn/bluego
Có các tùy chọn: Variants, Link, Threading, Runtime-link
Và giờ mình hoàn toàn rối bời chả biết đường nào mà lần, khi mà tìm google thì toàn ra những câu trả lời rất chung chung. Hầu hết người ta bày cài bằng cmd, đưa command ra và không giải thích gì thêm , có ông còn viết thêm mấy cái tham số gì đó mà gõ .\b2 --help
lại chả thấy đâu.
Mình chỉ biết khi build app thì có build debug và release, static link và dynamic link, mà build boost lại có đến 4 tùy chọn kiểu này thì vượt ngoài kiến thức của mình rồi.
Bạn nào có thể giải thích cặn kẽ từng cái một giúp mình được không? Làm ơn đừng ngầm định là mình giỏi C++.
Làm sao để build thư viện boost C++ (Sử dụng Visual Studio)?
[spoiler]Mình chỉ có thể nói những gì mình biết thôi, còn lại mong các bạn có kiến thức sâu hơn giải thích thêm và cặn kẽ hơn.[/spoiler]
Sao bạn không build bằng bootstrap có sẵn của boost ấy (Mình down thử thằng BlueGo kia về xem qua thì thiếu khá nhiều lib của boost)
Thằng b2 thực chất nó là bjam(v2) re-name, dùng hỗ trợ build lib boost(ngoài ra có nhiều chức năng khác nhưng mình chưa từng khai thác nó ngoài build).
Build Variants là build toàn bộ các phiên bản cho mỗi 1 thư viện con của boost, có lẽ để tương thích ngược.
Thằng runtime-link mình cũng chưa từng dùng bao giờ vì toàn xài trực tiếp loadtime-link (thấy plugin load, game engine hay dùng thằng runtime-link), có lẽ bạn nên google thêm.
Threading mình cũng không rõ
Youtube:
VS2010:
VS2015:
git clone nó về rồi chạy 3 dòng
bootstrap-vcpkg.bat
vcpkg integrate install
và
vcpkg install boost
là xong, thoải mái tạo project mới, nó integrate sẵn boost vô luôn, khỏi cần include dir lib thủ công nữa. Thích thư viện nào phổ biến thì nó có hết.
mỗi lần update thì git pull rồi vcpkg update
, nó chỉ hướng dẫn hết, rất đơn giản.
Nó có tự build cho mình đúng toolset, đúng bit, cho mình chỉnh static hoặc dynamic không?
nó build hết thì phải
debug+release, shared+static, threading thì multi ko có single thread
=)
Thiếu thông tin vầy là không xài được rồi.
Xoay sở hồi cũng tìm ra được link này http://www.boost.org/build/doc/html/bbv2/overview/builtins/features.html
tự build thì cứ threading multi, release, shared cho lẹ, build hết tuốt tuồn tuột mất khoảng 15’, còn thêm thằng debug/static vô thì 45’ =)
Rồi, đây là những gì mình đã hiểu được ở 4 thông số trên
Variants: buid debug hoặc release;
Link: static - các library trong boost được build về dạng file .lib | shared: các libary trong boost được build về dạng .lib và .dll, tức là xuất phẩm phải kè kè vài cái dll boost;
Runtime-link: bởi boost cũng sử dụng C runtime, cho nên: static: sử dụng static C runtime | shared: sử dụng dynamic C runtime, xài shared thì xuất phẩm phải đi kèm mấy cái DLL của C (ví dụ VCRUNTIME140.dll, nếu build debug thì là VCRUNTIME140d.dll);
Threading: một số thứ trong boost có liên quan đến multithread, bật cái này để lái boost sang nhánh code phù hợp với multithread. Mình thấy trong phần Runtime Library của Visual Studio toàn là Multithread nên thôi kệ chọn Multithread .
Hi bạn.
Mình cũng mới tải Boost, mình gặp lỗi:
D:\boost_1_82_0\boost\config\auto_link.hpp(122,1): fatal error C1189: #error: “Incompatible build options”
Nó đang yêu cầu “Runtime Library” là “/MDd” hoặc “/MTd”. Mà mình cần sử dụng “/MT”.
Làm cách nào sử dụng Boost với “/MT” vậy bạn.
Mong phản hồi từ bạn. Thanks you :))
đổi build config từ Debug thành Release