在VScode中用CMake构建C/C++多文件项目

这个方法比较简单,不使用CMakePresets.json,项目只由build、cmakelists、源文件头文件组成。

1 准备工作

安装VScode(略)

安装GCC和mingw(上网找教程,很简单)

安装插件:

  • C/C++
  • CMake
  • CMake Tools

2 搭建项目

新建一个文件夹用于存放项目。

注意:文件夹名和文件夹路径不要出现中文。

在VScode中选择“打开文件夹”


2-1 创建main.cpp

(个人习惯)在项目路径下创建文件夹:src(存放源文件 .cpp)、include(存放头文件 .h)。

在src中创建main.cpp,随便写一点:

#include<iostream>intmain(int,char**){ std::cout <<"hello world"<< std::endl;return0;}

2-2 创建CMakeLists.txt

在项目路径中创建CmakeLists.txt,对照模板(看注释)进行编写:

cmake_minimum_required(VERSION 3.10.0) # 版本不用修改 # 项目信息,不用修改 # 第一个参数是项目名,下面的代码出现demo就表示项目名。 project(demo VERSION 0.1.0 LANGUAGES C CXX) # 设置exe输出路径 # 第二个参数是路径,可以改成别的 # 比如想让exe生成到bin文件夹,可以改成"${PROJECT_SOURCE_DIR}/bin"set(EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR}") # 自动扫描并编译src文件夹下的所有文件 aux_source_directory(./src SRC_LIST)add_executable(demo ${SRC_LIST}) # 设置exe的名字 set_target_properties(demo PROPERTIES OUTPUT_NAME "main") # 头文件搜索路径 target_include_directories(demo PRIVATE include)

2-3 选择工具包

进入VScode的设置,搜索"Cmake:Use C Make Presets",调成never。

在这里插入图片描述

回到,main.cpp,按下crtl+shift+P,选择“CMAKE:选择工具包”,

在这里插入图片描述

然后选择自己安装的gcc

在这里插入图片描述

然后VScode会生成build文件,同时按照cmakelists文件在项目路径中生成main.exe。

项目结构应该是这样的(以我的项目举例):

在这里插入图片描述

3 使用方法

生成、调试、运行按键:

在这里插入图片描述

点击VScode底部栏的build生成按键,如果像下面这样,说明没问题了。

在这里插入图片描述


image.png%3Fmsec%3D1765616390682&pos_id=img-GSid8iz7-1765618098117)

点击三角形的运行按键,程序会在VScode的终端中运行。虫子按钮是调试,自行探索。

Read more

【Python 镜像下载网址】

【Python 镜像下载网址】

几个常用的国内 Python 镜像下载网址,可以加快 Python 安装包和相关工具的下载速度: 1. 清华大学镜像站 * Python 官方版本下载 https://mirrors.tuna.tsinghua.edu.cn/python/ * PyPI 镜像(pip 配置加速) https://pypi.tuna.tsinghua.edu.cn/simple 2. 阿里云镜像站 * Python 官方版本下载 https://mirrors.aliyun.com/python/ * PyPI 镜像(pip 配置加速) https://mirrors.aliyun.com/pypi/simple/ 3. 中国科学技术大学镜像站(USTC)

By Ne0inhk

uv虚拟环境管理:venv创建、激活与Python版本指定

uv虚拟环境管理:venv创建、激活与Python版本指定 【免费下载链接】uvAn extremely fast Python package installer and resolver, written in Rust. 项目地址: https://gitcode.com/GitHub_Trending/uv/uv 引言:虚拟环境管理的痛点与解决方案 在Python开发中,虚拟环境(Virtual Environment)是隔离项目依赖的关键工具。传统工具如venv和virtualenv存在创建速度慢、版本管理繁琐等问题。uv作为一款用Rust编写的极速Python包管理器,提供了更高效的虚拟环境管理方案。本文将详细介绍如何使用uv创建、激活虚拟环境,并灵活指定Python版本,帮助开发者解决环境一致性和版本控制的痛点。 读完本文后,你将能够: * 使用uv快速创建虚拟环境 * 在不同操作系统下激活虚拟环境 * 灵活指定和管理Python版本 * 解决多项目环境冲突问题 * 利用uv的高级特性提升开发效率 uv虚拟环境基础 什么是虚拟环境 虚拟环境(

By Ne0inhk

C++物理引擎中连续碰撞检测的陷阱与解决方案,90%的开发者都忽略了第5点

第一章:C++物理引擎中连续碰撞检测的陷阱与解决方案,90%的开发者都忽略了第5点 在高性能C++物理引擎开发中,连续碰撞检测(Continuous Collision Detection, CCD)是确保快速移动物体不发生穿模的关键技术。然而,许多开发者在实现过程中常陷入一些隐蔽但致命的陷阱。 忽略运动轨迹的采样精度 CCD依赖对物体运动路径的精确建模。若采样步长过大,高速物体仍可能跳过碰撞点。推荐使用时间区间细分策略: // 简化的CCD时间步进检测逻辑 bool continuousCollide(const RigidBody& a, const RigidBody& b, float dt) { float step = dt / 10.0f; // 细分时间步 for (float t = 0; t < dt; t += step) { if (a.

By Ne0inhk
【C++掌中宝】类和对象(二):隐藏的this指针

【C++掌中宝】类和对象(二):隐藏的this指针

文章目录 * 引言 * 1. 定义与用法 * 1.1 隐式存在的 this 指针 * 1.2 this 指针的用途与示例 * 2. 本质 * 3. 特点 * 4. this 指针的作用机制 * 5. 成员函数中的 this 指针 * 6. 空指针与 this 指针的特殊情况 * 7. 注意事项 * 8. 总结 * 结语 引言 在 C++ 编程中,类是面向对象编程的核心,而类中的成员函数与对象的交互则通过一个隐含的指针来实现,这就是 this 指针。它在 C++ 类的非静态成员函数中自动存在并指向调用该函数的对象实例。在这篇文章中,我们将详细探讨 this 指针的定义、用法以及其背后的工作原理。

By Ne0inhk