記錄在 FreeBSD 系統上從源碼編譯安裝 Boost 1.55.0 的完整步驟,並以 boost::lexical_cast 為例驗證安裝成功,適配 GCC/Clang 編譯器。
# 1. 下載源碼包 fetch https://jaist.dl.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.gz # 或 wget/curl # 2. 解壓 tar xzf boost_1_55_0.tar.gz cd boost_1_55_0 # 3. 引導構建系統 ./bootstrap.sh # 4. 編譯(可能較久,建議加 -jN 並行) ./bjam -j4 # 5. 安裝庫文件到系統路徑 ./bjam install # 6. 更新動態鏈接庫緩存 ldconfig # 7. 驗證頭文件路徑 ls /usr/local/include/boost/ # 應見 lexical_cast.hpp 等
// test_boost.cpp #include#include int main() { using boost::lexical_cast; int a = lexical_cast ("210923"); double b = lexical_cast ("4358.56"); std::cout << a << std::endl; std::cout << b << std::endl; return 0; }
# GCC g++ -o test_boost test_boost.cpp -I/usr/local/include -L/usr/local/lib -lboost_system # Clang (FreeBSD 默認) clang++ -o test_boost test_boost.cpp -I/usr/local/include -L/usr/local/lib -lboost_system # 運行 ./test_boost # 輸出: # 210923 # 4358.56
-I/usr/local/include(或 -I/home/user/boost_1_55_0 源碼目錄)。lexical_cast 為純頭文件庫,無需鏈接 .a/.so;涉及編譯單元的庫(如 thread、system、filesystem)需 -lboost_xxx。cc/gcc 編譯 .c,c++/g++/clang++ 編譯 .cpp/.cc。pkg install boost-libs),源碼編譯適合需最新特性或定制構建場景。| 庫 | 功能 | 是否純頭文件 |
|---|---|---|
| lexical_cast | 類型轉換(字符串↔數值) | 是 |
| smart_ptr | 智能指針 | 是 |
| asio | 異步網絡 IO | 否 |
| thread | 跨平台線程 | 否 |
| filesystem | 文件系統操作 | 否 |
| test | 單元測試框架 | 否 |
| spirit | 解析器生成器 | 是 |
FreeBSD 上安裝 Boost 標準流程:bootstrap.sh → bjam → bjam install → ldconfig。驗證以純頭文件庫 lexical_cast 為例,編譯鏈接無誤即環境就緒。後續可探索 Asio、Beast 等網絡庫構建高性能服務。