zoukankan      html  css  js  c++  java
  • vscode c++ cmake template project

    VSCode configure C++ dev environment

    claim

    use CMake to build the project.

    For debugging, VSCode's CMake plugins needs cmake version >=3.7.1, and ubuntu16.04 apt gives cmake 3.5, thus I don't use VSCode CMake extension. I'll use VSCode's tasks, they are flexible.

    steps

    create backbone code

    Create your codes, including:

    • CMakeLists.txt
    • compile.sh
    • src/

    You can copy from my template.

    create build and run tasks (tasks.json)

    Use Ctrl+Shift+P command, and select >tasks: configure task, then choose other build systems.

    Then in tasks.json, write these (including the building and run tasks):

    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
            {
                "label": "CMake build",
                "type": "shell",
                "command": "./compile.sh",
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "problemMatcher": [
                    "$gcc"
                ]
            },
            {
                "label": "run",
                "type": "shell",
                "command": "./build/blob_demo",
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "problemMatcher": [
                    "$gcc"
                ]
            }
        ]
    }
    

    Then, Ctrl+Shift+P, type Tasks: Run Task, choose build or run tasks that you just created.

    debug the program (launch.json)

    Since I use cmake to build my project, I set debug mode support in compile.sh, which actually pass -DCMAKE_BUILD_TYPE=Debug to cmake.

    Go to debugger button, and add a new configuration, by choosing C++(GDB/LLDB). This will create a launch.json file. Its content would be like this:

    launch.json

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceFolder}/build/blob_demo",  #!! change here for your config
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }
    

    Then, in any of your .cpp file, clicking a breakpoint, and in debugging button page, start it.

  • 相关阅读:
    9.堆排序
    8.全排列
    37.微信跳一跳辅助开发(C语言+EasyX)
    7.图形化实现快速排序法
    codeforces 632A A. Grandma Laura and Apples(暴力)
    codeforces 633D D. Fibonacci-ish(dfs+暴力+map)
    codeforces 633B B. A Trivial Problem(数论)
    codeforces 633A A. Ebony and Ivory(暴力)
    codeforces 622B B. The Time
    codeforces 622D D. Optimal Number Permutation(找规律)
  • 原文地址:https://www.cnblogs.com/zjutzz/p/9389106.html
Copyright © 2011-2022 走看看