首页 > 编程语言 >Jetbrains fleet 配置 C++开发环境(基于CMAKE和MinGW)

Jetbrains fleet 配置 C++开发环境(基于CMAKE和MinGW)

时间:2025-01-07 12:43:47浏览次数:1  
标签:CMAKE C++ 编译 MinGW Build FILE Run Example

Jetbrains fleet 配置 C++开发环境

1. 安装 Jetbrains Fleet

到Fleet下载页面下载Toolbox并安装
Jetbrains-Fleet下载页
安装完成后在任务栏打开 Toolbox ,在列表中选择安装 fleet。

2. 为 Fleet 准备 Workspace

在适当的地方建立文件夹作为 fleet 的工作空间,并在 fleet 中打开。

3. 配置 run.json 编译脚本

点击运行按钮,选择 Create Run Configuration
将其中内容配置如下

{
    "configurations": [
        {
            "type": "command",
            "name": "CMake Build",
            "program": "cmake",
            "args": ["-DCMAKE_BUILD_TYPE=Debug","-G","MinGW Makefiles","-S", "$FILE_DIR$", "-B", "$FILE_DIR$\\cmake-build-debug"],
        },
        {
            "type": "command",
            "name": "Make",
            "program": "mingw32-make",
            "args": ["-C","$FILE_DIR$\\cmake-build-debug"],

        },
        {
            "type": "command",
            "name": "Run",
            "program": "$FILE_DIR$\\cmake-build-debug\\$FILE_NAME_NO_EXT$.exe",
        },
        {
            "type": "command",
            "name": "Build And Run",
            "program": "$FILE_DIR$\\cmake-build-debug\\$FILE_NAME_NO_EXT$.exe",
            "dependsOn": ["CMake Build", "Make"],
        },
        {
            "type": "command",
            "name": "Example Build",
            "program": "g++",
            "args": ["$FILE$","-o","$FILE_DIR$\\$FILE_NAME_NO_EXT$.exe"]
        },
        {
            "type": "command",
            "name": "Example Run",
            "program": "$FILE_DIR$\\$FILE_NAME_NO_EXT$.exe",
        },
        {
            "type": "command",
            "name": "Example Build And Run",
            "program": "$FILE_DIR$\\$FILE_NAME_NO_EXT$.exe",
            "dependsOn": ["Example Build"],
        },
    ]
}

4. 安装 CMAKE 与MinGW-w64

CMAKE下载页面
MinGW-w64预编译二进制文件下载页面

CMAKE 直接安装即可,MinGW-w64 找个地方解压出来即可。
之后将 CMAKE 和 MinGW 的 bin 文件夹添加进系统 path 变量。

5. 运行配置如何使用

5.1 单个文件的编译运行

在工作空间下新建项目文件夹,在内部建立单个 cpp 文件并编写程序。
点击运行按钮,其中带 Example 前缀的是用于单个文件运行的配置:

  • Example Build —— 编译该文件
  • Example Run —— 不重新编译,运行上次编译的结果
  • Example Build And Run —— 编译并运行当前文件

5.2 以 CMAKE 管理的项目的编译运行

在工作空间下新建项目文件夹,内部项目以 CMAKE 管理。

  • CMakeLists.txt 中的项目名需要与作为 main 文件的文件名一致,例如主文件为helloworld.cpp,则 CMAKE 中的项目名应为helloworld
  • 如果要使用 fleet 的 Smart Mode,CMakeLists.txt 中需要添加set(CMAKE_EXPORT_COMPILE_COMMANDS ON)生成编译数据库

点击运行按钮,其中不带 Example 前缀的是用于项目运行的配置:

  • CMake Build —— 执行 CMAKE 项目构建,生成项目 Makefile 文件与编译数据库
  • Make —— 编译项目
  • Run —— 不重新编译,运行上次编译的结果
  • Build And Run —— 编译项目并运行

标签:CMAKE,C++,编译,MinGW,Build,FILE,Run,Example
From: https://www.cnblogs.com/airlongdianblog/p/18657418

相关文章

  • 超级好用的C++实用库之服务包装类
    在C++开发中,服务包装类库是非常重要且实用的工具。它们可以显著简化代码编写,提高开发效率和代码可维护性。以下是几个超级好用的C++服务包装类库,以及如何使用它们来优化开发工作。常用的C++服务包装类库1.Boost.AsioBoost.Asio是一个跨平台的C++网络编程库,用于实现异步I/O操作......
  • leetcode 热题100(32. 最长有效括号)栈 c++
    链接:32.最长有效括号-力扣(LeetCode)给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例1:输入:s="(()"输出:2解释:最长有效括号子串是"()"示例2:输入:s=")()())"输出:4解释:最长有效括号子串是"()()"示例3:输入:s=""......
  • C++学习笔记#01——指针与链表
    在自学C++的时候,发现指针是一个很难绕开的东西,看了一些参考资料和别人的程序,写一些垃圾。Part1指针指针是一个指向一片内存地址的变量,相当于家的门牌号。我们即可以通过变量名来访问一个变量,也可以通过它对应的地址来访问。就像你的老师可以点你的名字找你,也可以找你宿舍的门......
  • #define int long long 必须写在#include<bits/stdc++.h>的下方
    #include<bits/stdc++.h>usingnamespacestd;intd2[8][2]={{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}};intx,y,k,l;intvis[25][25];inta[25][25];boolcheck(intm,intn){ if(m<0||n<0||m>x+1||n>y+1) returnfalse; ret......
  • 合并两个排序的链表(C++)
    问题描述输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。数据范围:0≤n≤10000≤n≤1000,−1000≤节点值≤1000−1000≤节点值≤1000要求:空间复杂度O(1)O(1),时间复杂度O(n)O(n)如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,......
  • UG NX二次开发(C++)-UFun函数-按照特定方向提取轮廓线
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1、前言2、UF_CURVE_create_shadow_outline帮助说明3、工作视图向WCS视图变换4、完整代码5、测试结果1、前言提取轮廓线在UGNX二次开发过程中比较多,其可以通过UF_CURVE_create_shadow......
  • 【C++ 设计模式】C++ 设计模式全景剖析:从语言特性到工程落地
    目录标题第一章:设计模式与C++:初识与动机1.1为什么要学习设计模式1.1.1面向扩展与维护的必然需求1.1.2提升沟通效率与团队协作1.2C++设计模式的核心特征1.2.1灵活运用RAII与多态1.2.2编译期与运行期并行的优势1.3学习与使用设计模式的关键心态1.3.1不为模......
  • c++ 老师学生类信息管理实现
    项目场景:师生校园游戏小程序项目描述1.有学生,老师2.学生老师可以进出校门,每出一次校门被扣外勤分1分3.每个老师只教一门课,给多个班上课4.每个学生学习三门课,语文,数学,英语5.能够找到指定学生指定科目的老师6.每门考试后,80分以上外勤分+17.老师可对指定班级进行考试......
  • 优雅处理任务取消: C++20 的 Cooperative Cancellation
    在现代软件开发中,异步和并发操作是不可避免的.然而,当任务需要取消时,如何优雅地终止任务,释放资源并保持系统的稳定性,往往是一个挑战.C++20引入了stop_token,stop_source和stop_callback三大工具,为我们提供了灵活的协作式任务取消机制.本文通过一个模拟......
  • Foxit PDF SDK 10.1 for Windows (C++ Library)
    FoxitPDFSDKforWindows强大且易于使用的核心API,用于渲染、查看、注释、签名、保护和管理PDF中的表单。快速集成功能强大且易于使用的C++、C#、C、Python和Java核心API。系统要求:WindowsXP、Vista、7、8和10(32位和64位);WindowsServer2003、2008、2012和......