# vscode_cmake **Repository Path**: dsqiu/vscode_cmake ## Basic Information - **Project Name**: vscode_cmake - **Description**: vscode cmake template - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-02-05 - **Last Updated**: 2024-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Windows + VSCode + CMake编译 C/C++教程 ## 环境 - [x] 所需MSYS包安装 - [x] VSCode插件和环境配置 - [x] CMake安装包 ### MSYS安装 下载: https://www.msys2.org/ 安装到d:\\msys64下,并运行msys2,出现 ![msys2](./img/msys2.png "msys2 shell") 然后在窗口上运行 ```sh pacman -Syu pacman -S --needed base-devel mingw-w64-x86_64-toolchain ``` ### VScode 插件和环境配置 1. vscode 安装 2. 插件安装 * C/C++ for Visual Studio Code * CMake Tools ### CMake 安装 下载: https://cmake.org/download/ 这里注意一定要是用win的cmake,不能使用msys2的。 ## 配置 ### CMake 配置 #### 编辑 cmake-tools-kit.json vscode 下输入 ctrl+shift+p, 输入 cmake: edit local ... ![vscode-cmake](./img/vscode-cmake.png) ``` json [ { "name": "GCC 11.2.0 x86_64-w64-mingw32", "compilers": { "C": "D:\\msys64\\mingw64\\bin\\x86_64-w64-mingw32-gcc.exe", "CXX": "D:\\msys64\\mingw64\\bin\\x86_64-w64-mingw32-g++.exe" }, "preferredGenerator" : { "name": "MinGw Makefiles", "platform": "x64" }, "environmentVariables" : { "PATH": "D:\\msys64\\mingw64\\bin" } }, { "name": "GCC 7.4.0 mips-img-elf", "compilers": { "C": "D:\\work\\temp\\sourcecode\\freertos\\tools\\mips-img-elf\\2019.02-05\\bin\\mips-img-elf-gcc.exe", "CXX": "D:\\work\\temp\\sourcecode\\freertos\\tools\\mips-img-elf\\2019.02-05\\bin\\mips-img-elf-g++.exe" } } ] ``` #### 编辑 setting.json 在工程路径下的 .vscode 路径下建立 setting.json ``` json { "cmake.cmakePath": "D:\\Program Files\\CMake\\bin\\cmake.exe", "cmake.mingwSearchDirs": [ "${env:SystemDrive}/MinGW" ], "cmake.generator": "MinGW Makefiles", "cmake.buildDirectory": "${workspaceFolder}/build/${buildKit}/${buildType}", "C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools", "doxygen_runner.configuration_file_override": "${workspaceFolder}/docs/doxygen/Doxyfile" } ``` ### gdb 配置 #### 编辑 launch.json 在工程路径下的 .vscode 路径下建立 launch.json ``` json { "version": "0.2.0", "configurations": [ // MSVC Debugging: { "program": "${command:cmake.launchTargetPath}", "name": "Launch (msvc)", "request": "launch", "args": [], "environment": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "console": "integratedTerminal", "internalConsoleOptions": "openOnSessionStart", "type":"cppvsdbg", }, // GDB Debugging: { "program": "${command:cmake.launchTargetPath}", "name": "Launch (gdb)", "request": "launch", "args": [], "environment": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "console": "integratedTerminal", "internalConsoleOptions": "openOnSessionStart", "type": "cppdbg", "MIMode": "gdb", "miDebuggerPath": "D:\\msys64\\mingw64\\bin\\gdb.exe", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] } ``` ## 运行 选择相应配置 在 vscode 状态栏上选择相应的配置 ![vscode-status](./img/vscode-status.png) 然后按F5就可以调试了