• VS Code:CMake配置


    概述

    VSCode和编译器MinGW安装完毕后,要更高效率的进行C/C++开发,采用CMake。CMake是一个开源、跨平台的编译、测试和打包工具,它使用比较简单的语言描述编译,安装的过程,输出Makefile或者project文件,再去执行构建。

    安装

    在官网下载CMake,直接点击安装包,设置安装路径进行安装即可,安装时,需要勾选设置环境变量。
    在VSCode中安装插件CMake、CMake Integration和CMake Tools.
    Pasted image 20230106221355
    Pasted image 20230106221458

    开发和编译
    1.功能说明

    在各个子文件目录下创建CMakeLists.txt文件。首先Ctrl+Shift+P打开快捷输入窗,使用CMake Config配置后,选择已经安装好的MinGW编译器进行编译;使用CMake Build自动生成外部构建的build文件夹;使用CMake Debug进行程序代码调试。

    2.工程配置

    1.新建一个项目文件夹,用VSCode打开
    2.在文件夹下新建include文件夹和src文件夹,include下存放头文件,src下存放源文件
    3.在根目录下新建CMakeList.txt文件。
    Pasted image 20230106222831
    使用之前写过的代码进行演示,文件目录为:
    Pasted image 20230106224112
    client.h文件如下:

    #include
    using namespace std;
    class client
    {
    private:
        static char SeverName;
        static int ClientNum;
    public:
        client();
        static void ChangeSeverName(char name);
        static char getServerName();
        static int getClientNum();
        ~client();
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    client.cpp文件如下:

    #include "client.h"
    #include
    using namespace std;
    char client::SeverName = 'A';
    int client::ClientNum = 0;
    client::client()
    {
        ClientNum++;
    }
    client::~client(){
        ClientNum--;
    }
    void client::ChangeSeverName(char name){
        SeverName = name;
    }
    char client::getServerName(){
        return SeverName;
    }
    int client::getClientNum(){
        return ClientNum;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    main.cpp文件如下:

    #include "client.h"
    #include
    using namespace std;
    int main(){
        client c1;
        client c2;
        char name1;
        char name2;
        cout<<"请输入一个字符作为客户机的名称:";
        cin>>name1;
        cout<<"客户机名称为"<>name2;
        cout<<"请输入一个字符作为客户机的名称:"<>new_server_name;
        c1.ChangeSeverName(new_server_name);
        cout<<"客户机"<
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    CMakeLists.txt文件为:

    project(test)
    include_directories(${PROJECT_SOURCE_DIR}/include)#添加头文件的搜索路径
    aux_source_directory(./src SrcFiles)#将源文件列表写在变量SrcFiles中
    aux_source_directory(./src/test SrcFiles)#工程项目较大,要创建多个模块
    set(EXECUTABLE_OUTPUT_PATH  ${PROJECT_SOURCE_DIR}/build)#设置可执行文件输出路径
    add_executable(main ${SrcFiles})#设置可执行文件的名称,make之后bin目录下出现main.exe
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    写好CMakeLists.txt文件后,首先使用Ctrl+Shift+P打开快捷输入栏,选择CMake:Configure选项,如下图:
    Pasted image 20230106223903
    之后在选择编译器,这里选择已经配置好的MinGW编译器,如下图:
    Pasted image 20230106223952
    会自动生成build文件夹:
    Pasted image 20230106230651
    VSCode出现运行按钮,点击运行,即可在终端查看运行结果。
    Pasted image 20230106230848
    Pasted image 20230106233056

    3.程序的调试

    安装好VSCode中的C/C++、CMake和CMake Tools插件。
    Pasted image 20230107000545
    点击左侧栏的CMake工具栏,右键可执行文件,选择Debug。
    Pasted image 20230107001123
    进入调试界面。

  • 相关阅读:
    ElasticSearch--整合SpringBoot
    js中的原型和原型链
    yuv420p转RGB
    【无标题】
    全栈工程师必须要掌握的前端Html技能
    神经网络训练防止过拟合和欠拟合的方法
    linux - 简单上传下载文件(lrzsz、scp)
    C语言学习笔记
    linux使用yum安装2.x版git
    STM32 invalid UTF-8 in comment 警告解决办法
  • 原文地址:https://blog.csdn.net/qq_43714332/article/details/133828517