【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 的底层基础设施。

相关推荐
skywalk816310 小时前
你希望的「多路捕获」语法是哪种形式?具体而言,「捕获 类型为 e」指的是什么?
开发语言·编程
c2385610 小时前
c/c++中的二叉树进阶
c语言·c++·算法
两年半的个人练习生^_^10 小时前
JMM 进阶:彻底理解 volatile 实现原理
java·开发语言
晚风吹红霞10 小时前
C++模板进阶:非类型参数、特化、分离编译与优缺点解析
开发语言·c++
小小龙学IT11 小时前
Go语言后端开发入门指南
开发语言·后端·golang
不会C语言的男孩11 小时前
C++ Primer 第8章:IO 库
开发语言·c++
AC赳赳老秦11 小时前
OpenClaw任务复盘自动化:统计每日完成工作、遗留问题,优化工作节奏
java·大数据·linux·运维·服务器·数据库·openclaw
兰令水11 小时前
leecodecode【层序遍历】【2026.6.3打卡-java版本】
java·开发语言
Halo_tjn11 小时前
反射与设计模式2
java·开发语言·算法
kaoa00011 小时前
Linux入门攻坚——79、XEN虚拟化-2
linux·运维·开发语言