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

相关推荐
ClouGence21 小时前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将1 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils2 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
博客18002 天前
酷宝的使用方法,超好用的免费界面库,C++、MFC可用
c++·mfc·界面库·库来帮·酷宝
郝学胜_神的一滴2 天前
CMake 026:属性体系精讲、四大作用域全解 & 实战代码落地
c++·cmake
渣波2 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
众少成多积小致巨3 天前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++
倔强的石头_3 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_6 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab6 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm