首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

C++ Boost 庫在 FreeBSD 上的安裝與測試指南

     編輯:關於C

記錄在 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。
  • C vs C++ 編譯器:cc/gcc 編譯 .c,c++/g++/clang++ 編譯 .cpp/.cc。
  • 版本選擇:生產環境建議使用 Ports/Pkg 安裝穩定版(pkg install boost-libs),源碼編譯適合需最新特性或定制構建場景。

常用 Boost 庫速查

庫功能是否純頭文件
lexical_cast類型轉換(字符串↔數值)是
smart_ptr智能指針是
asio異步網絡 IO否
thread跨平台線程否
filesystem文件系統操作否
test單元測試框架否
spirit解析器生成器是

總結

FreeBSD 上安裝 Boost 標準流程:bootstrap.sh → bjam → bjam install → ldconfig。驗證以純頭文件庫 lexical_cast 為例,編譯鏈接無誤即環境就緒。後續可探索 Asio、Beast 等網絡庫構建高性能服務。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved