【C++ AI 大模型接入 SDK】 - 环境搭建


大家好,我是Halcyon.平安

欢迎文末添加好友交流,共同进步!

    • 一、更新软件源
    • 二、安装编译工具链
    • [三、安装 JsonCpp](#三、安装 JsonCpp)
    • [四、安装 SQLite3](#四、安装 SQLite3)
    • [五、安装 OpenSSL 开发库](#五、安装 OpenSSL 开发库)
    • [六、安装 spdlog 日志库](#六、安装 spdlog 日志库)
    • [七、安装 gflags](#七、安装 gflags)
    • [八、获取 cpp-httplib](#八、获取 cpp-httplib)
    • [九、安装 fmt 库](#九、安装 fmt 库)
    • 十、依赖总结
    • 十一、验证环境

以下给出 Ubuntu 22.04 系统的环境搭建步骤。

一、更新软件源

plain 复制代码
sudo apt update

二、安装编译工具链

项目使用 C++17 标准,需要 g++、CMake、gdb 等工具:

plain 复制代码
sudo apt install -y build-essential gdb cmake git

# 验证
g++ --version      # 需要支持 C++17
cmake --version
gdb --version

三、安装 JsonCpp

用于 JSON 数据的序列化与反序列化,SDK 中构造请求体和解析响应体都依赖它:

plain 复制代码
sudo apt install -y libjsoncpp-dev

# 验证头文件
ls /usr/include/jsoncpp/json/
# 应看到: json.h  reader.h  value.h  writer.h ...

四、安装 SQLite3

SQLite 是嵌入式数据库,无需独立服务进程,SDK 用它来持久化会话和消息数据:

plain 复制代码
sudo apt install -y sqlite3 libsqlite3-dev

# 验证
sqlite3 --version

五、安装 OpenSSL 开发库

cpp-httplib 访问 HTTPS 接口(如 DeepSeek、OpenAI 的 API)需要 OpenSSL 支持:

plain 复制代码
sudo apt install -y libssl-dev

# 验证头文件
ls /usr/include/openssl/
# 应看到: ssl.h  crypto.h  ...

六、安装 spdlog 日志库

spdlog 是高性能的 C++ 日志库,SDK 的日志模块基于它封装:

plain 复制代码
sudo apt install -y libspdlog-dev

# 验证
ls /usr/include/spdlog/

七、安装 gflags

gflags 用于解析命令行参数和配置文件,ChatServer 的启动参数依赖它:

plain 复制代码
sudo apt install -y libgflags-dev

# 验证
ls /usr/include/gflags/

八、获取 cpp-httplib

cpp-httplib 是一个单头文件的 HTTP 客户端/服务端库,无需编译安装,只需下载头文件即可:

plain 复制代码
# 下载到系统头文件目录
sudo wget https://raw.githubusercontent.com/yhirose/cpp-httplib/master/httplib.h -O /usr/include/httplib.h

# 验证
ls -lh /usr/include/httplib.h

cpp-httplib 是 header-only 库,只需一个 httplib.h 文件,引入项目后直接 #include <httplib.h> 即可使用。


九、安装 fmt 库

spdlog 依赖 fmt 格式化库,部分系统可能需要单独安装:

plain 复制代码
sudo apt install -y libfmt-dev

# 验证
ls /usr/include/fmt/

十、依赖总结

安装方式 用途
build-essential apt g++ 编译器(C++17)、make
cmake apt 构建工具
libjsoncpp-dev apt JSON 序列化/反序列化
libsqlite3-dev apt 会话和消息的数据持久化
libssl-dev apt HTTPS 支持(cpp-httplib 访问云端 API)
libspdlog-dev apt 高性能日志输出
libgflags-dev apt 命令行参数与配置文件解析
libfmt-dev apt 字符串格式化(spdlog 依赖)
cpp-httplib 下载头文件 HTTP 客户端/服务端

十一、验证环境

安装完成后,可以用以下命令确认所有依赖是否就绪:

plain 复制代码
# 检查编译器
g++ --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+'

# 检查库文件
dpkg -l | grep -E 'libjsoncpp|libsqlite3|libssl|libspdlog|libgflags|libfmt'

环境搭建完成后,下一篇将从公共数据结构(common.h)和日志模块开始,逐步搭建 SDK 的底层基础设施。

相关推荐
Ulyanov13 小时前
雷达导引头Python仿真框架:GPU加速、6-DOF模型与半实物仿真接口
开发语言·python·雷达信号处理·雷达导引头
wuqingshun31415914 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
空中湖14 小时前
电池简史(五):极限之梦与终章——锂硫、锂空气、量子电池,以及你该知道的电池投资与生活指南
数据库·程序人生
名字还没想好☜15 小时前
Go slice 的 append 陷阱:共享底层数组导致的数据串改
开发语言·后端·golang·go·slice
bitbrowser15 小时前
Claude 账号频繁被封?转向国内可直接使用的 AI 工具
开发语言·php
An_s15 小时前
机器学习python之识别图中物品信息
java·linux·开发语言
小雪_Snow15 小时前
JavaScript 中的三种常用事件
开发语言·前端·javascript
米罗篮15 小时前
矩阵快速幂 (Exponentiation By Squaring Applied To Matrices)
c++·线性代数·算法·矩阵
肖爱Kun15 小时前
C++设计策略模式
开发语言·c++·策略模式
蓝胖子酱15 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库