当前位置: 首页 > news >正文

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

大家好,我是Halcyon.平安

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

    • 一、更新软件源
    • 二、安装编译工具链
    • 三、安装 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.h

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


九、安装 fmt 库

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

sudo apt install -y libfmt-dev # 验证 ls /usr/include/fmt/


十、依赖总结

安装方式用途
build-essentialaptg++ 编译器(C++17)、make
cmakeapt构建工具
libjsoncpp-devaptJSON 序列化/反序列化
libsqlite3-devapt会话和消息的数据持久化
libssl-devaptHTTPS 支持(cpp-httplib 访问云端 API)
libspdlog-devapt高性能日志输出
libgflags-devapt命令行参数与配置文件解析
libfmt-devapt字符串格式化(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 的底层基础设施。

http://www.jsqmd.com/news/820272/

相关文章:

  • 利用CircuitPython与I2C协议驱动Wii Classic手柄进行嵌入式开发
  • 2026年佛山王府井紫薇港附近,究竟哪些海鲜宴席荣登热门榜单? - GrowthUME
  • 家用电器防倾倒指南:精密开关选型建议、项目陪跑与厂家盘点
  • 终极智能英雄联盟助手:Seraphine自动BP与实时战绩查询完全指南
  • 如何快速上手 Ansible?
  • 高级安卓开发工程师:性能与功耗优化技术深度解析
  • GitHub 日榜第 2、13k Star,AI to Earn 火了——我用 Claude Code 三天搓了一个自己的
  • Overture开源框架:快速部署生产级大语言模型API服务
  • 嵌入式项目必备:PCF8523实时时钟模块硬件连接与Arduino/CircuitPython驱动指南
  • 2026年佛山冬至家庭围餐,这家占据全网海鲜种草榜首的店别错过! - GrowthUME
  • Android二进制XML解析终极指南:AXMLPrinter2免费工具完全教程
  • 树莓派PiTFT背光控制与触摸屏配置全攻略
  • 2026年,重庆口碑好的除甲醛公司哪家最专业?速来揭秘! - GrowthUME
  • 3分钟搞定京东自动抢购:Python工具终极完整指南
  • COB LED支架设计:角部定位与热管理技术解析
  • 2026年英文文章降AI率指南:海外伙伴避坑必备(附4款工具测评) - 降AI实验室
  • 【权威实测】Midjourney 35mm风格复刻成功率从31%跃升至89%:基于217组对照实验的12项Prompt变量校准清单
  • WMMAVYUXUANSYS/育轩:Dante主机接入手持发射器:让会议音频进入“无线高保真”时代
  • 【C#vsPython·第一阶段】int、string、bool?Python 的类型世界有点不一样
  • Ledger购买代购售后政策有何不同? - GrowthUME
  • 别再手动算了!用Python的xlrd库3行代码搞定Excel日期数字转换(附完整代码)
  • 英语阅读_Ten percent off
  • 告别提取码焦虑:百度网盘资源获取的智能革命
  • Adafruit PCM5122 I2S DAC模块:从硬件连接到三大平台实战指南
  • hLife Collection | Oncology
  • 罗马尼亚语TTS情感表达失效?揭秘ElevenLabs语音引擎对动词变位时态的误判逻辑——基于12,843条真实语料的错误模式聚类报告
  • AI应用架构深度解析:AnythingLLM如何实现全栈本地化部署与多模态文档处理
  • Ledger购买海淘售后运费由谁承担? - GrowthUME
  • 现代笔记应用开发:Tauri+React技术栈与本地优先架构实践
  • VR技术革新无障碍设计:Empath-D系统解析