# 下載原始碼
ftp https://jaist.dl.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.gz
# 解壓 (注意 .tar.gz 用 zxvf,非 jxvf)
tar zxvf boost_1_55_0.tar.gz
# 建構安裝
cd boost_1_55_0
./bootstrap.sh
./bjam
ldconfig # 更新共享庫快取
cd ..
原文使用 tar jxvf 錯誤,.gz 需 z 選項。
// test_boost.cpp
#include <boost/lexical_cast.hpp>
#include <iostream>
int main() {
using boost::lexical_cast;
int a = lexical_cast<int>("210923");
double b = lexical_cast<double>("4358.56");
std::cout << a << std::endl;
std::cout << b << std::endl;
return 0;
}
# g++ 編譯 C++ 程式
g++ -o boost_test test_boost.cpp -I /home/dp/boost_1_55_0
# 執行
./boost_test
# 輸出:
# 210923
# 4358.56
注意:gcc/cc 編譯 C,g++/CC 編譯 C++。原文重複使用 g++ 兩次並誤寫為 CC 參數相同。
-I 路徑指向 boost 根目錄(含 boost/ 子目錄)。thread, system, filesystem)需連結:-lboost_thread -lboost_system -lpthread。devel/boost-libs devel/boost-all,生產環境建議用 pkg install boost-libs 而非手動編譯。smart_ptr, thread, regex, lexical_cast)。本文記錄了在 FreeBSD 上從原始碼建構 Boost 的基本流程,並以 lexical_cast 為例驗證安裝成功。實際專案建議使用系統套件管理器安裝穩定版本。