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

C++ 环境配置

C++ 环境配置

头痛,都已经 C++26 了,还没有一个官方现代的包管理器

工具链

c++ 链接编译的结构就决定了这一块不能像 Python 一样编译器直接运行代码,配置相对比较麻烦

主要流程:

  • 构建系统生成器,通过项目配置生成构建脚本:CMake、QMake
  • 编译器,将代码翻译为机器码:GCC、MSVC、Clang
  • 构建工具,通过构建脚本调用编译器:Make、Ninja、NMake

构建系统生成器

现在一般使用 CMake,就是项目文件夹中的 CMakeLists.txt

QMake 是 QT 使用的构建工具,但 QT 也在转向 CMake

cmake 路径 参数

-G 可以指定生成器

  • MinGW Makefiles:适用 MinGW
  • Ninja:适用 Ninja
  • NMake Makefiles:适用 NMake

编译器

核心出装

GCC 原版是在 Linux 平台上,MinGW 是把 GCC 移植到 Windows 中的工具链,TDM 则是 MinGW 的定制版本

Clang 也是种流行的编译器(实质前端),底层是 LLVM

MSVC 则是微软自己搞的一些东西

构建工具

调用编译器进行编译

make 是在 Linux 环境下,需要安装编译后的文件。windows 平台下安装后,一般需要自行配置系统目录

make
make install
mingw23-make
nmake

基础配置

安装以下程序后,大部分代码就能跑起来了

  1. tdm64-gcc-10.3.0-2.exe 编译环境
  2. cmake-4.0.0-rc4-windows-x86_64.msi 编译工具
  3. CLion-2024.3.5.exe 编写代码

在终端运行以下语句以检查安装是否正常

gcc -v
cmake --version

CLion 现在的版本已经内置了 MinGW,单独安装 TDM 是为了更好的支持 Cmake 以及自动配置环境变量

独立 MSVC 编译器

Microsoft C++ Build Tools,有些库必须用这个编译才能运行,比如 windows 下的 pybind11,非必要不是很想用这玩意

下载安装包后会发现实质是 Visual Studio Installer,但只会安装 MSVC 要求的那部分,可以把包管理器 VCPKG 一起安装了,会吃掉电脑 9G 左右空间

安装后在 CLion 中配置工具链,正常情况下指定安装路径后就能识别了 xxx\2022\BuildTools

接下来可以配置系统变量,注意需要选择当前环境和目标环境 xxx\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64

在终端运行以下语句以检查配置是否正确

cl
link
http://www.dtcms.com/a/249629.html

相关文章:

  • Visual studio 中 使用QT插件 编辑UI文件打开 Qt Designer 报错 问题解决方案
  • 论文精读Lami-Detr:Open-Vocabulary Detection with Language Model Instruction
  • 【量化】策略交易之动量策略(Momentum)
  • YOLOv2 中非极大值抑制(NMS)机制详解与实现
  • n8n 从 Docker 到 Node.js 本地环境迁移指南
  • Qt .pro配置gcc相关命令(三):-W1、-L、-rpath和-rpath-link
  • std::shared_ptr引起内存泄漏的例子
  • [CVPR 2025] DeformCL:基于可变形中心线的3D血管提取新范式
  • AI应用:计算机视觉相关技术总结
  • 蓝桥杯国赛前一晚知识点准备(十六届python)
  • 灵敏度分析
  • Codeforces Round 1030 (Div. 2)
  • STM32项目---汽车氛围灯
  • Flutter JSON解析全攻略:使用json_serializable实现高效序列化
  • MySQL 调优笔记
  • 项目拓展-简易SQL监控,P6SPY拦截所有jdbc连接并打印执行SQL
  • 第1章 C# 和 .NET 框架 笔记
  • 【知识图谱构建系列3】zero-shot的理念介绍
  • Android xml的Preference设置visibility=“gone“ 无效分析解决
  • 【无标题】【2025年软考中级】第三章数据结构3.2 栈与队列
  • LeetCode - 69. x 的平方根
  • 数据结构 学习 链表 2025年6月14日08点01分
  • 力扣Hot100每日N题(15~16)
  • sqli-labs靶场46-53关(综合)
  • 拆解 CMS/G1/ZGC 三种垃圾回收器算法过程
  • Python实战应用-Python操作MySQL数据库
  • leetcode2-两数相加
  • 【CF】Day84——Codeforces Round 862 (Div. 2) D (⭐树的直径的性质 + DFS找树的直径)
  • K8S中使用英伟达GPU
  • 在 CentOS中安装Docker并安装青龙脚本——笔记