【C++ AI 大模型接入 SDK】 - 环境搭建
欢迎文末添加好友交流,共同进步!
- 一、更新软件源
- 二、安装编译工具链
- 三、安装 JsonCpp
- 四、安装 SQLite3
- 五、安装 OpenSSL 开发库
- 六、安装 spdlog 日志库
- 七、安装 gflags
- 八、获取 cpp-httplib
- 九、安装 fmt 库
- 十、依赖总结
- 十一、验证环境
以下给出 Ubuntu 22.04 系统的环境搭建步骤。
一、更新软件源
sudo apt update二、安装编译工具链
项目使用 C++17 标准,需要 g++、CMake、gdb 等工具:
sudo apt install -y build-essential gdb cmake git # 验证 g++ --version # 需要支持 C++17 cmake --version gdb --version三、安装 JsonCpp
用于 JSON 数据的序列化与反序列化,SDK 中构造请求体和解析响应体都依赖它:
sudo apt install -y libjsoncpp-dev # 验证头文件 ls /usr/include/jsoncpp/json/ # 应看到: json.h reader.h value.h writer.h ...四、安装 SQLite3
SQLite 是嵌入式数据库,无需独立服务进程,SDK 用它来持久化会话和消息数据:
sudo apt install -y sqlite3 libsqlite3-dev # 验证 sqlite3 --version五、安装 OpenSSL 开发库
cpp-httplib 访问 HTTPS 接口(如 DeepSeek、OpenAI 的 API)需要 OpenSSL 支持:
sudo apt install -y libssl-dev # 验证头文件 ls /usr/include/openssl/ # 应看到: ssl.h crypto.h ...六、安装 spdlog 日志库
spdlog 是高性能的 C++ 日志库,SDK 的日志模块基于它封装:
sudo apt install -y libspdlog-dev # 验证 ls /usr/include/spdlog/七、安装 gflags
gflags 用于解析命令行参数和配置文件,ChatServer 的启动参数依赖它:
sudo apt install -y libgflags-dev # 验证 ls /usr/include/gflags/八、获取 cpp-httplib
cpp-httplib 是一个单头文件的 HTTP 客户端/服务端库,无需编译安装,只需下载头文件即可:
# 下载到系统头文件目录 sudo wget https://raw.githubusercontent.com/yhirose/cpp-httplib/master/httplib.h -O /usr/include/httplib.h # 验证 ls -lh /usr/include/httplib.hcpp-httplib 是 header-only 库,只需一个httplib.h文件,引入项目后直接#include <httplib.h>即可使用。
九、安装 fmt 库
spdlog 依赖 fmt 格式化库,部分系统可能需要单独安装:
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 客户端/服务端 |
十一、验证环境
安装完成后,可以用以下命令确认所有依赖是否就绪:
# 检查编译器 g++ --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+' # 检查库文件 dpkg -l | grep -E 'libjsoncpp|libsqlite3|libssl|libspdlog|libgflags|libfmt'环境搭建完成后,下一篇将从公共数据结构(common.h)和日志模块开始,逐步搭建 SDK 的底层基础设施。
