
🔥小叶-duck:个人主页
❄️个人专栏:《Data-Structure-Learning》《C++入门到进阶&自我学习过程记录》
《Linux系统从入门到实践》《Linux网络从入门到实践》
《Qt 方寸极境》 《MySQL》
✨未择之路,不须回头
已择之路,纵是荆棘遍野,亦作花海遨游
目录
前言
本篇内容先介绍当下主流 AI 辅助编程工具,再介绍 Trae IDE 的远程 SSH 开发配置,接着梳理项目所需要的全套 C++ 三方依赖库,最后给出完整的一键部署脚本与环境验证代码,确保后续 SDK 编码、单元测试都能正常运行。
一、开发环境介绍
在正式开启 C++ AI 大模型接入 SDK 项目开发前,我们需要挑选适配项目的开发环境。随着人工智能技术的飞速发展,AI编程助手类的插件和 IDE 如雨后春笋般涌现,为开发者提供强大的代
码生成、智能补全、错误检测和修复等功能,显著提高了开发效率。
当前市面上 AI 编程辅助工具种类丰富,大体可以分为 IDE 插件类、命令行终端类、AI 原生编程 IDE 三大类别,不同类型工具适用的开发场景有所区别。
1.1 AI 编程插件类
1.1.1 核心定位
以 IDE 插件的形式交付,不需要更换原有编辑器,依托现有 IDE 底座来增加 AI 编码增强能力。这类插件生态成熟,主流产品都兼容 VS Code 以及 JetBrains 全家桶 IDE,适合习惯原有编辑器、只想额外增加 AI 辅助能力的开发者。
1.1.2 主流产品
- GitHub Copilot:支持 VS Code、JetBrains 系列 IDE;具备实时代码补全、Copilot 对话,能够感知多语言项目上下文,自动生成测试用例。
- Fitten Code:支持 VS Code、JetBrains 系列 IDE;提供代码补全、Bug 静态检测、注释生成、单元测试自动化生成能力。
- Cline:仅支持 VS Code;可以读写项目文件、执行命令行任务,内置浏览器环境集成,带有权限确认机制,支持编排任务链路。
- 通义灵码:支持 VS Code、JetBrains IDE,还有独立 IDE 版本;支持多文件批量修改、MCP 工具链调用、行间会话,自带个性化记忆体系。
1.2 命令行终端类 AI 编程工具
1.2.1 核心定位
不依赖图形化 IDE,直接在服务器终端环境和大模型交互,更适配服务器运维、纯终端远程开发场景,适合无图形界面的 Linux 服务器开发。
1.2.2 主流产品
- Claude Code:擅长长文档逻辑分析、代码生成与安全审查,最高支持 200K 上下文,支持自然语言交互;底层依托 Claude 3 系列模型。
- Gemini CLI:在终端内直接对话,可生成代码、解释报错信息,同时支持通用文本处理、多模态文件传输;底层依托 Gemini-2.5-pro 模型。
1.3 AI 原生编程 IDE
1.3.1 核心定位
这类 IDE 大多基于 VS Code 开源内核二次开发,操作逻辑和 VS Code 保持高度一致。开发者可以直接导入原有 VS Code 配置,迁移成本很低;并且深度内置大模型,拥有完整项目级 AI 开发能力,能力上限强于普通插件。
1.3.2 主流产品
| IDE 名称 | 出品方 | 核心特性 | 内置模型 |
|---|---|---|---|
| Cursor | - | 代码自动生成、智能补全、Bug 修复、多文件编辑、自然语言指令 | Claude、GPT-4、Gemini 等 |
| IDX | 谷歌 | 云端 VS Code 开发环境,内置 Android 模拟器、Firebase,支持全栈应用一键部署 | 深度集成 Gemini 家族 |
| Kiro | 亚马逊 | 需求管理、自动化开发、代码修改预览、即时撤销、Agentic Chat | Claude-Sonnet-4、Claude-Opus-4 |
| Trae | 字节跳动 | 国内访问稳定,原生内置 Remote SSH,支持 Agent 自动编程、智能问答 | DeepSeek、Doubao、Kimi、Qwen 等 |
| Qoder | 阿里巴巴 | 代码库全景理解、结对编程、Quest 模式、长短记忆系统 | Claude、GPT、Gemini 等 |
| CodeBuddy | 腾讯 | 设计稿转代码、全栈开发、内置腾讯云服务,一键部署分享 | 腾讯混元、DeepSeek 等 |
1.3.3 选型依据
本项目将选用 Trae IDE 进行开发。
核心原因:国内网络访问稳定,基础功能免费,原生自带 Remote SSH 能力,不需要额外安装插件,非常适合我们 Linux 下 C++ 项目远程开发。
小提示:AI 编程工具只是提效手段。在当前我们基础学习阶段,仍然要扎实打好语言、操作系统、网络等底层基本功,尽量手动手写代码,减少 AI 依赖;等独立编码能力成型之后,再借助 AI 工具提升开发效率。并且绝大多数 AI 原生 IDE 底层都是 VS Code 内核,基础操作差异不大。
二、Trae IDE 环境配置
2.1 产品定位
Trae IDE 是基于 VS Code 内核深度改造、原生集成大模型能力的开发工具。内置智能问答、代码自动补全,还提供基于 Agent 能力的全自动编程功能,同时支持本地开发与远程 Linux 主机开发两种工作模式。
重要补充:Trae IDE 本身不自带编译、链接工具链。代码的编译、构建流程,完全依赖远程 / 本地主机环境预先装好的 gcc、cmake 等系统工具,IDE 只负责代码编辑与 AI 辅助。
2.2 安装与远程连接
2.2.1 基础信息
- 官方网站:https://www.trae.ai/
- 官方文档:https://docs.trae.ai/ide/what-is-trae?_lang=zh
- 下载地址:https://www.trae.ai/download
- 兼容操作系统:macOS、Windows10/11、Linux
下载安装包后,跟随向导一路下一步即可完成客户端安装。
2.2.2 Remote SSH 远程开发能力
Trae 原生内置 Remote SSH 组件,无需额外安装插件,就能直接连接远程 Linux 服务器,非常适配我们本次 C++ 项目的开发场景。
连接操作流程:
- 在 Trae 界面选择「连接远程主机」
- 输入连接格式:
ssh 用户名@IP地址 - 输入密码或者配置密钥完成登录认证
登录成功后,Trae 内的文件管理器、内置终端,都会直接映射到远程 Linux 主机环境,读写文件、执行命令都在远端服务器上运行。
2.3 C/C++ 远程开发必备插件
重点提醒:在远程 SSH 模式下,clangd、CMake Tools 这类插件会安装到远程 Linux 主机,而不是本地电脑,这是远程开发容易踩坑的点。
2.3.1 clangd 插件
clangd 是 C/C++ 语言服务插件,为代码提供静态语法解析能力,是 C++ 开发的核心依赖。 核心能力:
- 语法高亮、智能代码补全
- 实时静态错误检查:识别语法错误、类型不匹配、符号未定义等问题
- 代码导航:一键跳转到变量、函数的定义与引用位置
- 悬浮文档提示:鼠标悬停函数,展示函数签名、参数说明和注释文档
安装方式:打开插件管理器,搜索clangd,选择对应插件安装。

2.3.2 CMake Tools 插件
CMake Tools 是 CMake 构建系统集成插件,用来在 IDE 内管理项目构建流程。 核心能力:
- 自动生成 CMake 构建配置
- 快速切换、选择编译器
- 管理编译目标,一键执行编译、调试操作
在插件市场搜索CMake Tools完成安装,Trae 依靠该插件完成 CMake 项目集成,简化我们 SDK 项目的构建操作。

三、C++ 第三方依赖库体系
我们这个 AI 大模型接入 SDK 项目,需要一套完整的 C++ 依赖库支撑。整体分为两大板块:基础编译工具链、业务功能库。
下面逐一介绍每个组件的作用与安装方式。
3.1 基础工具链
这一组是 Linux 下 C++ 开发必备底层工具,负责源码编译、构建管理、库查找、接口调试。
3.1.1 build-essential
Ubuntu 平台编译元数据包,一次性集成 gcc、g++、make 等核心编译工具,是所有 C++ 项目的基础前提。
3.1.2 cmake
跨平台项目构建工具,用来统一管理项目编译配置,自动生成构建脚本,适配多文件、多依赖的工程化项目,本项目会全程使用 CMake 组织 SDK 代码。
3.1.3 pkg-config
编译辅助工具,可以自动检索本机第三方库的头文件路径、链接参数,简化 Makefile 或者 CMake 中库的引入配置。
3.1.4 curl
命令行 HTTP/HTTPS 请求工具,开发阶段用来快速验证大模型 API 连通性,提前校验接口地址、请求报文是否正常,不参与最终程序编译。
3.2 业务功能库
这部分是 SDK 业务逻辑所依赖的 C++ 三方库,在前面章节我们已经逐个学习了gflags、spdlog、spdlog、fmt、jsoncpp、gtest、cpp-httplib等第三方库的基本使用,对于 libssl-dev 第三方库我们会在讲解项目的时候进行对应的使用讲解,这里统一汇总。
3.2.1 gflags
谷歌开源命令行参数解析库,项目中用来读取命令行传入的配置,例如大模型接口地址、超时时间等。
Ubuntu 开发包:libgflags-dev
3.2.2 spdlog
高性能 C++ 日志库,本项目用于日志输出,支持控制台、文件滚动输出,默认 header-only。
Ubuntu 开发包:libspdlog-dev
3.2.3 fmt
现代 C++ 格式化库,类型安全,相比传统 printf、iostream 性能更高,spdlog 底层也依赖 fmt。
Ubuntu 开发包:libfmt-dev
补充:安装时必须选用带 - dev 的开发包,仅运行时库不包含头文件,无法用于代码开发。
3.2.4 jsoncpp
C++ 的 JSON 序列化与反序列化库,用来组装发给大模型的请求 JSON,并且解析 API 返回的 JSON 报文。
Ubuntu 开发包:libjsoncpp-dev 头文件引入形式:#include <jsoncpp/json/json.h>
3.2.5 libssl-dev
OpenSSL 开发库,提供 SSL/TLS 协议支持。因为大模型 API 基本都是 HTTPS 协议,需要依靠 OpenSSL 完成加密通信。
3.2.6 gtest
谷歌开源 C++ 单元测试框架,用来给 SDK 的各个模块编写单元测试,保证接口可靠性。
Ubuntu 开发包:libgtest-dev
注意:apt 安装的 gtest 仅提供源码,需要手动编译生成静态库后才能链接使用。
3.2.7 cpp-httplib
轻量级 header-only 的 HTTP 客户端与服务端库,我们的 SDK 会使用它作为 HTTP 客户端,发送网络请求访问大模型 API。
部署方式:直接把头文件拷贝到系统include目录,或者放到项目源码内引入。
四、环境部署全流程与验证
4.1 第一步:更新软件源并安装基础工具链
在远程 Linux 主机任意目录执行,推荐在家目录操作。
# 更新软件源索引
sudo apt update
# 批量安装编译基础工具
sudo apt install -y build-essential cmake pkg-config curl
4.2 第二步:通过 apt 安装业务开发库
# 1.gflags 命令行参数解析库
sudo apt install -y libgflags-dev
# 2.spdlog 高性能日志库
sudo apt install -y libspdlog-dev
# 3.fmt 格式化库
sudo apt install -y libfmt-dev
# 4.jsoncpp JSON解析库
sudo apt install -y libjsoncpp-dev
# 5.OpenSSL 加密开发包
sudo apt install -y libssl-dev
# 6.gtest 单元测试源码
sudo apt install -y libgtest-dev
4.3 第三步:编译 gtest 源码生成静态库
apt 下载的 gtest 只有源码,必须编译,否则链接会报错
cd /usr/src/gtest
sudo cmake .
sudo make
sudo cp lib/libgtest*.a /usr/lib/
4.4 第四步:安装 cpp-httplib
cpp-httplib 是纯头文件库,只需要拿到httplib.h放到系统头文件目录。
4.4.1 官方直连(网络良好场景)
cd /tmp
git clone https://github.com/yhirose/cpp-httplib.git
cd cpp-httplib
sudo cp httplib.h /usr/include/
cd ~
4.4.2 国内加速(推荐,国内服务器)
cd /tmp
# 使用代理加速github克隆
git clone https://ghproxy.com/https://github.com/yhirose/cpp-httplib.git
cd cpp-httplib
sudo cp httplib.h /usr/include/
cd ~
4.4.3 备选方案
- 本地下载 ZIP 源码包,上传到远程主机解压,手动拷贝
httplib.h - 直接将
httplib.h放到项目源码目录,使用相对路径#include "httplib.h"引入
4.5 第五步:环境完整性验证
我们编写一个综合测试代码,一次性验证所有库头文件引入、链接是否正常。
新建 test.cc,代码如下:
#include <fmt/core.h>
#include <gflags/gflags.h>
#include <gtest/gtest.h>
#include <httplib.h>
#include <iostream>
#include <jsoncpp/json/json.h>
#include <jsoncpp/json/value.h>
#include <spdlog/spdlog.h>
// 定义gflags命令行参数
DEFINE_string(url, "gflags", "your name");
int main(int argc, char *argv[])
{
// 测试 gflags 参数解析
gflags::ParseCommandLineFlags(&argc, &argv, true);
std::cout << "Hello " << FLAGS_url << std::endl;
// 测试 spdlog 日志输出
spdlog::info("Hello spdlog");
// 测试 fmt 格式化能力
std::string msg = fmt::format("fmt says: {}", 42);
std::cout << msg << std::endl;
// 测试 jsoncpp 序列化
Json::Value val;
val["name"] = FLAGS_url;
val["age"] = 18;
std::cout << val.toStyledString() << std::endl;
// 测试 httplib 头文件(仅验证头文件可正常引入)
httplib::Client cli("http://example.com");
std::cout << "httplib header included successfully." << std::endl;
// 测试 gtest 库链接
EXPECT_EQ(1, 1);
std::cout << "gtest linkage verified." << std::endl;
}
编译与运行命令:
# 编译测试程序,链接所有依赖库以及线程库pthread
g++ test.cc -lgflags -lspdlog -lfmt -ljsoncpp -lgtest -lgtest_main -pthread -o test
# 运行测试程序,传入自定义参数
./test --url=Trae
运行结果展示:

能够完整输出以上所有内容,代表全部依赖库安装、链接正常,项目开发环境就绪。
结束语
本章完成了 AI 辅助开发工具选型、Trae 远程开发环境搭建,并且一次性部署了项目所需要的全部 C++ 三方库。通过环境校验代码,确认所有头文件、静态库都可以正常引入与链接。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/2501_91275995/article/details/168250311




