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

相关推荐
Omics Pro2 分钟前
AI药物研发10原则!欧盟EMA×美国FDA
数据库·人工智能·算法·机器学习·自然语言处理
杨云龙UP3 分钟前
DB2 HADR 主备切换实战:SQL1639N 认证问题、备库只读与双向 Takeover
linux·运维·数据库·db2·主备切换·角色互换
吠品3 分钟前
Nginx负载均衡配置与线上故障排查的一些经验
java·开发语言·数据库
小小龙学IT4 分钟前
Qt QPainter 2D 绘图系统深度解析:从画笔到渲染引擎适
c++·qt
边境悍匪9 分钟前
蜗牛学苑 Java 智能体学习 Day44|Vue 前端项目搭建 思维导图复盘
java·开发语言·spring boot·学习·阿里云
wabs66610 分钟前
关于二叉树【力扣100.相同的树的思考】
数据结构·c++·算法·leetcode·二叉树·递归法
wuyk55517 分钟前
Python实战项目01:简易记事本系统
开发语言·python
小小龙学IT25 分钟前
Boost.PFR 开源结构体字段反射库深度解析
c++·开源
程序猿编码28 分钟前
零依赖纯手写:C++ 实现完整神经网络,张量反向传播全打通
c++·神经网络·transformer·大模型推理
码匠许师傅29 分钟前
【C++三方组件】utfcpp:UTF-8 字符串处理避坑
c++