(二)Trae 配置C++ 编译简单概念

(二)Trae 配置C++ 编译简单概念

Trae配置c++编译简单概念

零 CMake 编译C++

0.0写在前面

本文旨在初步记录c++在Trae中的时候,需要提前理解CMake / MsBuild ninja Make / cl clang-cl clang++ g++ link.exe ld.exe等基本功能.可以参考CMake…基本概念一文
另外:本文也是用来解释初级概念,特别强调是手动配置一次. 后期再补文,讲解快速上手配置.

0.1 下载安装

本文章使用Trae编译C++需要先安装CMake
下载 CMake地址
CMake是生成所有解决方案的基础,它使用项目中的CMakeLists.txt文件来展开特定项目文件(构建文件)

0.2 安装设置

  1. 设置 环境变量:Path
    开始->设置->系统->高级系统设置->“环境变量” ->Path增加如下路径
  2. 测试安装
 c:\>cmake --version cmake version 3.31.7 

0.3 三种编译方式(见 下文 一 二 三)

  1. 使用MSVC方式编译
  2. 使用GCC方式
  3. 使用LLVM(Clang)方式编译

0.4 调试 (见 下文四)


一 使用MSVC方式编译

1.1 安装编译环境

下载地址 vs_installer
使用vs_installer 中的 C++编译选项

在这里插入图片描述


安装完成后在开始菜单,在搜索框键入dev后出现提示如下.

版本
vs2019在这里插入图片描述
vs2022在这里插入图片描述

1.2安装插件

  1. C/C++ (微软官方)(Trae无法使用 vscode中可以使用)
  2. CMake (twxs)
  3. CMake Tools(ms-vscode)

1.3 设置文件

暂时未能调试,所以暂缺(这里是仅使用msvc的模式调试.后面有使用clang-cl的方式调试)


二 使用GCC方式

2.1 安装编译环境

2.1.1下载:MinGw

1.ucrt 是比较新的
2.msvcrt是兼容老版本

2.1.2安装:(以ucrt为例)

1.解压缩到D盘(笔者解压路径为 d:\Code\CodeTool\ucrt64)

在这里插入图片描述


2.设置环境变量

1开始->设置->系统->高级系统设置->“环境变量” 新增变量 MinGW_HOME
在这里插入图片描述
2.系统变量Path增加如下内容
在这里插入图片描述
开始->设置->系统->高级系统设置->“环境变量”->Path

2.2安装插件

  1. CMake (twxs)
  2. CMake Tools(ms-vscode)
  3. C/C++ Debug(KylinIdeTeam) - 可能安装耗时较长

2.3 配置文件

  1. launch.json 调试设置
    .vscode目录下添加launch.json文件如下
    下面的cpp3需要手动改为自己的exe名称
{"version":"0.2.0","configurations":[{"name":"Debug with GDB","type":"cppdbg","request":"launch","program":"${workspaceFolder}/bin/cpp3.exe","args":[],"cwd":"${workspaceFolder}","MIMode":"gdb",}]}

2.settings.json
.vscode目录下添加settings.json

{"files.associations":{"xlocmes":"cpp","istream":"cpp","ostream":"cpp","xiosbase":"cpp","xutility":"cpp"}}

三 使用Clang方式

3.1安装LLVM

设置
笔者安装的路径为D:\Code\CodeTool\LLVM
开始->设置->系统->高级系统设置->“环境变量” ->Path增加如下路径

在这里插入图片描述

下载
地址 LLVM

在这里插入图片描述

3.2插件

  1. CMake (twxs)
  2. CMake Tools(ms-vscode)
  3. Clangd(llvm-ms-code)
  4. Codelldb(vadimcn)

3.3 配置文件

  1. launch.json 调试设置
    .vscode目录下添加launch.json文件如下
    下面的cpp3需要手动改为自己的exe名称
{"version":"0.2.0","configurations":[{"name":"Debug with LLDB","type":"lldb","request":"launch","program":"${workspaceFolder}/bin/cpp3.exe","args":[],"cwd":"${workspaceFolder}"}]}

2.settings.json
.vscode目录下添加settings.json

{"files.associations":{"xlocmes":"cpp","istream":"cpp","ostream":"cpp","xiosbase":"cpp","xutility":"cpp"}}

四 开始编译和调试

4.1 项目新增CMakeLists.txt文件

项目名称 cpp3
c++版本 c++17

# CMake 最低版本要求 cmake_minimum_required(VERSION3.10) # 项目名称 project(cpp3) # 设置C++标准 set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_STANDARD_REQUIREDON) # 添加可执行文件 add_executable(${PROJECT_NAME} main.cpp) # 设置输出目录 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) # 添加头文件搜索路径 include_directories(${PROJECT_SOURCE_DIR}/include) # 添加库文件搜索路径 link_directories(${PROJECT_SOURCE_DIR}/lib)

4.2 CMakeTool插件开始编译

1. CMakeTool插件

①打开CMakeTool插件:
②选择编译器 见图2
③ 编译选项 Debug Release等

图1.CMakeTool页面

2. 选择编译器,生成构建文件()

a. 首次可以使用扫描本机编译器
④ 扫描本机的编译器:
b. 下面可以切换编译器,生成构建文件
⑤Clang++ 编译器 (生成build.ninja)
⑥vs2019(vs:sln+vcproj )
⑦vs2022(vs:sln+vcproj )
GCC 15.0.1(Makefile)
选择编译器后会生成构建文件 1.LLVM:build.ninja /2.vs:sln+vcproj / 3.MinGw:Makefile 等构建文件

在这里插入图片描述

3. 生成exe:

状态栏下点击"生成",会根据构建文件(sln/build.ninja/makefile)去生成exe

在这里插入图片描述

4. 调试

a.增加main.cpp上断点
b.⑧点击调试页面
c.选择调试器
⑨LLDB调试 (对应launch.json的"Debug with LLDB",使用build.ninja编译exe)
⑩g++编译(对应Launch.json的"Debug whit GDB",使用makefile编译的exe)
d.再点击那个调试按钮(小虫子)

在这里插入图片描述


5.清理
每次更换编译器,可以先执行清理缓存(见下图) ,再执行 3.生成 4.调试

在这里插入图片描述

Read more

Windows 11 配置 CUDA 版 llama.cpp 并实现系统全局调用(GGUF 模型本地快速聊天)

Windows 11 配置 CUDA 版 llama.cpp 并实现系统全局调用(GGUF 模型本地快速聊天)

Windows 11 配置 CUDA 版 llama.cpp 并实现系统全局调用(GGUF 模型本地快速聊天) 前言 在本地快速部署大模型进行离线聊天,llama.cpp 是轻量化、高性能的首选工具,尤其是 CUDA 版本能充分利用 NVIDIA 显卡的算力,大幅提升模型推理速度。本文将详细记录在 Windows 11 系统中,从环境准备、CUDA 版 llama.cpp 配置,到实现系统全局调用、快速运行 GGUF 格式模型的完整步骤,全程基于实际操作验证,适配 RTX 3090 等 NVIDIA 显卡,新手也能轻松上手。 https://github.com/ggml-org/llama.cpp

SteamVR Unity插件:为什么它是VR开发的首选解决方案

在当今快速发展的虚拟现实领域,SteamVR Unity插件以其卓越的多平台兼容性和强大的功能集成,成为了众多开发者的首选工具。这款由Valve官方维护的插件不仅简化了VR开发流程,更提供了完整的输入处理和交互系统,让开发者能够专注于创造沉浸式体验而非底层技术细节。 【免费下载链接】steamvr_unity_pluginSteamVR Unity Plugin - Documentation at: https://valvesoftware.github.io/steamvr_unity_plugin/ 项目地址: https://gitcode.com/gh_mirrors/st/steamvr_unity_plugin 快速启动:五分钟完成环境搭建 准备工作清单 * Unity编辑器:5.4及以上版本,推荐使用2019 LTS * SteamVR运行时:确保从Steam平台正确安装 * 插件获取:通过GitCode仓库获取最新版本 安装步骤详解 第一步:获取插件源码 git clone

高飞团队新作!基于高阶CBF的端到端无人机,实现7.5m/s丛林穿越,突破RL安全瓶颈

高飞团队新作!基于高阶CBF的端到端无人机,实现7.5m/s丛林穿越,突破RL安全瓶颈

「强化学习高速避障新范式」 目录 01  主要方法  1. 训练阶段:基于物理先验的奖励塑形 1. Dijkstra全局引导奖励 2. 基于控制障碍函数的安全惩罚  2. 部署阶段:基于高阶控制障碍函数的实时滤波 02  实验结果  1.仿真训练与消融实验  2.基准测试  3.实机飞行验证 03  总结 在无人机高速避障领域,Ego-Planner等传统的模块化规划方法受限于感知-规划-控制的累积延迟,往往难以兼顾高速与安全;而RL等纯端到端的强化学习虽然敏捷,却因缺乏理论上的安全保障而被视为黑盒。 浙江大学高飞老师团队的这项工作,最令人振奋之处在于巧妙地构建了一套混合架构。 * 在训练阶段,利用 Dijkstra 势场 引导 RL 智能体跳出局部极小值陷阱 ,实现了全局可达性; * 在部署阶段,则引入了基于 高阶控制障碍函数(HOCBF)的安全滤波器,将神经网络输出的动作实时投影到可行域内。 这种设计不仅在数学上给出了碰撞避免的严谨证明,更在实测中实现了高达 7.5m/s

Stable Diffusion【实战技巧】:利用Reference Only实现多场景人脸一致

1. 为什么我们需要人脸一致性技术 在AI绘画创作中,最让人头疼的问题之一就是无法保持角色形象的一致性。想象一下,你正在为小说创作插图,或者为游戏设计角色,每次生成的图片中人物长相都不一样,这简直是一场灾难。我刚开始用Stable Diffusion时就经常遇到这个问题,生成十张图能有十张不同的脸,根本没法用在连续性的创作中。 传统方法中,固定Seed值是最简单的尝试。我实测过这个方法,确实能让生成的人物看起来相似,但问题在于它会把整个画面都固定住 - 包括姿势、背景、服装所有细节。这就好比拍照时用了同样的底片,只是稍微调了下颜色,完全达不到"同一个人在不同场景"的需求。 LORA模型是另一个常见选择,但实际操作中我发现几个痛点:首先,训练一个高质量的LORA需要大量素材和调参经验,对新手很不友好;其次,现成的LORA模型效果参差不齐,很多模型即使把权重调到1,生成的脸还是会有明显差异。更不用说当你想混合多个LORA特征时,结果往往惨不忍睹。 2. Reference Only功能的核心优势 ControlNet的Reference Only功能简直是解决这个痛点的神器。它