《C++ 项目:手写大模型接入 SDK》Trae IDE 开发环境搭建与依赖管理
小叶-duck个人主页❄️个人专栏《Data-Structure-Learning》《C入门到进阶自我学习过程记录》《Linux系统从入门到实践》《Linux网络从入门到实践》《Qt 方寸极境》 《MySQL》✨未择之路不须回头已择之路纵是荆棘遍野亦作花海遨游目录前言一、开发环境介绍1.1 AI 编程插件类1.1.1 核心定位1.1.2 主流产品1.2 命令行终端类 AI 编程工具1.2.1 核心定位1.2.2 主流产品1.3 AI 原生编程 IDE1.3.1 核心定位1.3.2 主流产品1.3.3 选型依据二、Trae IDE 环境配置2.1 产品定位2.2 安装与远程连接2.2.1 基础信息2.2.2 Remote SSH 远程开发能力2.3 C/C 远程开发必备插件2.3.1 clangd 插件2.3.2 CMake Tools 插件3.1 基础工具链3.1.1 build-essential3.1.2 cmake3.1.3 pkg-config3.1.4 curl3.2 业务功能库3.2.1 gflags3.2.2 spdlog3.2.3 fmt3.2.4 jsoncpp3.2.5 libssl-dev3.2.6 gtest3.2.7 cpp-httplib四、环境部署全流程与验证4.1 第一步更新软件源并安装基础工具链4.2 第二步通过 apt 安装业务开发库4.3 第三步编译 gtest 源码生成静态库4.4 第四步安装 cpp-httplib4.4.1 官方直连网络良好场景4.4.2 国内加速推荐国内服务器4.4.3 备选方案4.5 第五步环境完整性验证结束语前言本篇内容先介绍当下主流 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 原生编程 IDE1.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 ChatClaude-Sonnet-4、Claude-Opus-4Trae字节跳动国内访问稳定原生内置 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?_langzh下载地址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-essentialUbuntu 平台编译元数据包一次性集成 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-dev3.2.2 spdlog高性能 C 日志库本项目用于日志输出支持控制台、文件滚动输出默认 header-only。Ubuntu 开发包libspdlog-dev3.2.3 fmt现代 C 格式化库类型安全相比传统 printf、iostream 性能更高spdlog 底层也依赖 fmt。Ubuntu 开发包libfmt-dev补充安装时必须选用带 - dev 的开发包仅运行时库不包含头文件无法用于代码开发。3.2.4 jsoncppC 的 JSON 序列化与反序列化库用来组装发给大模型的请求 JSON并且解析 API 返回的 JSON 报文。Ubuntu 开发包libjsoncpp-dev头文件引入形式#include jsoncpp/json/json.h3.2.5 libssl-devOpenSSL 开发库提供 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 curl4.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-dev4.3 第三步编译 gtest 源码生成静态库apt 下载的 gtest 只有源码必须编译否则链接会报错cd /usr/src/gtest sudo cmake . sudo make sudo cp lib/libgtest*.a /usr/lib/4.4 第四步安装 cpp-httplibcpp-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 --urlTrae运行结果展示能够完整输出以上所有内容代表全部依赖库安装、链接正常项目开发环境就绪。结束语本章完成了 AI 辅助开发工具选型、Trae 远程开发环境搭建并且一次性部署了项目所需要的全部 C 三方库。通过环境校验代码确认所有头文件、静态库都可以正常引入与链接。

相关新闻

eNSP中USG6000v虚拟防火墙Web界面打不开?从虚拟网卡到CLI配置全解决

eNSP中USG6000v虚拟防火墙Web界面打不开?从虚拟网卡到CLI配置全解决

折腾USG6000v虚拟防火墙的同学,十个里有八个都卡在同一个地方:设备在eNSP V390里启动得挺好,命令行也能进,就是Web管理界面死活打不开。剩下两个里面,有一个是打开了却只看到一片空白,另一个是浏览器直接甩…

2026/10/19 4:57:06 阅读更多 →
组合式无界4D城市生成模型:从静态场景到动态世界的构建

组合式无界4D城市生成模型:从静态场景到动态世界的构建

最近很多朋友私信问我,搞自动驾驶仿真或者数字孪生城市的时候,到底拿什么才能生成一个真正能跑、能看、还能无限大的动态城市?我都是同一个回答:你先别急着堆资产、拉模型,去看看这个叫“组合式无界4D城市生成模型”的…

2026/10/19 4:57:06 阅读更多 →
open-code-review:用风险分与模式匹配重塑代码评审流程

open-code-review:用风险分与模式匹配重塑代码评审流程

我一直觉得,代码评审这事儿,卡人的往往不是技术,而是“看代码”的方式。你让团队里两个人 review 同一个 MR,一个人可能十分钟扫完就 Approve,另一个人能揪出一堆潜在问题。差别不在谁更细心,而在有没有一套…

2026/10/19 4:57:06 阅读更多 →

最新新闻

SSTI服务端模板注入实战:Jinja2漏洞原理、绕过与防御

SSTI服务端模板注入实战:Jinja2漏洞原理、绕过与防御

1. 漏洞本质与攻击面梳理1.1 模板引擎为什么成了攻击目标SSTI(Server-Side Template Injection,服务端模板注入)这个漏洞,我第一次真正意识到它的危害,是在一次授权渗透测试中遇到一个用Flask写的内部管理系统。那个系…

2026/10/19 5:40:26 阅读更多 →
Java版jieba分词实战:Trie+DAG+HMM构建中文分词引擎

Java版jieba分词实战:Trie+DAG+HMM构建中文分词引擎

简介:这是基于Python版jieba分词封装的Java实现项目,面向需要在Java服务端或桌面应用中进行中文分词的开发者。项目包含完整源码、词典文件与Eclipse工程配置,解压后可直接导入运行。包内共30个文件,以java源码、class编译文件及t…

2026/10/19 5:40:26 阅读更多 →
Pico一体机Unity工程解析:从交互链路到APK部署的完整指南

Pico一体机Unity工程解析:从交互链路到APK部署的完整指南

简介:面向Pico一体机开发的Unity工程包,基于Unity 5.6.1f1搭建,适合VR开发者、Unity初学者及需要快速上手Pico手柄交互的团队。工程内已按项目开发场景划分好文件夹结构,并写好手柄射线检测方法,使用者只需调用Pvr_Con…

2026/10/19 5:40:26 阅读更多 →
Kiterunner与Postman联动,打造持续运转的API安全测试闭环

Kiterunner与Postman联动,打造持续运转的API安全测试闭环

UI 刚迭代完,某后台系统的接口权限验证又漏了新加的导出接口,这种场景干安全的同行应该都熟。API 安全测试最尴尬的处境不是漏洞多,而是测完一轮之后,下个版本一来,之前的结论全部作废。我自己的解法是:用 …

2026/10/19 5:40:26 阅读更多 →
CSV解析器实战:状态机与流式读取如何解决脏数据与陷阱

CSV解析器实战:状态机与流式读取如何解决脏数据与陷阱

简介:面向C#开发者的CSV解析示例程序包,聚焦CSV(逗号分隔值)文件的读取、字段分割与引号转义处理。源代码使用C#编写,配合Windows窗体演示了解析全过程,适合需要实现数据导入导出、批量处理表格数据的.NET初…

2026/10/19 5:40:26 阅读更多 →
开源真实世界数据集AGIBOT WORLD 2026:具身智能数据瓶颈与解法解析

开源真实世界数据集AGIBOT WORLD 2026:具身智能数据瓶颈与解法解析

如果问当前具身智能领域最缺什么,很多一线研发者会不约而同回答两个字:数据。语言模型和视觉模型这些年吃掉了海量互联网文本和图片,收益肉眼可见;但机器人操作模型完全不是这个玩法,它依赖的是机械臂在真实任务中记录…

2026/10/19 5:39:26 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →