vscode的配置(c++) 您所在的位置:网站首页 c7h5o2cl的名称 vscode的配置(c++)

vscode的配置(c++)

2024-03-07 11:15| 来源: 网络整理| 查看: 265

vscode的配置(c++) vscode的配置和使用一. 基于g++的命令编译文件二. json文件的配置1. launch.json2.tasks.json 三. cmake文件的配置附录

vscode的配置和使用 一. 基于g++的命令编译文件 //g++编译单文件,不包含调试信息 g++ .\main.cpp //g++编译单文件,生成带调试信息的可执行文件 g++ -g .\main.cpp -o my_single_swap //g++编译多文件,生成带调试信息的可执行文件 g++ -g .\main.cpp .\swap.cpp -o my_multi_swap 二. json文件的配置

单文件编译时,vscode可以生成合适的json文件,多文件编译时就需要更改json文件(测试的只会生成launch.json,生成不了tasks,json),这时候可以通过ctrl+shirft+p 输入task 选择模板生成 或者 f5 调试程序选g++.exe build active file 会自动生成task.json

1. 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": "g++.exe - 生成和调试活动文件", "type": "cppdbg", // "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", //代表你要调试的可执行文件 //多文件需要g++编译,然后把这个program项改成生成的可执行文件名 //直觉告诉我还是可以通过配置tasks实现 "args": [], //往可执行文件传参 "stopAtEntry": false, "cwd": "${fileDirname}", //进入当前目录 "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "D:\\Apps\\TDM_GCC\\bin\\gdb.exe", //调试器路径 "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "C/C++: g++.exe 生成活动文件" //在调试之前要做的工作,生成可执行文件 //对应于tasks.json的label } ] } 2.tasks.json { "tasks": [ { "type": "cppbuild", "label": "C/C++: g++.exe 生成活动文件", //根据label调用编译任务 //g++编译命令 "command": "D:\\Apps\\TDM_GCC\\bin\\g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", //编译多文件更改文件名 "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "调试器生成的任务。" } ], "version": "2.0.0" } 三. cmake文件的配置

帮助我们生成极其复杂的makefile

project(MYSWAP) add_executable(my_cmake_swap main.cpp swap.cpp)

需要在终端进行操作,操作之前需要进行配置 ctrl+shift+p 搜索cmake 找到configure 选择GCC (这里碰到一个问题Bad CMake executable . Is it installed or settings contain the correct path (cmake.cmakePath)?解决方法是在设置中(【Settings】->【Extensions】->【CMake Tools Configuration】->【CMake:Cmake Path】)指定 cmake.exe 的文件地址。 具体方法是打开设置(快捷键 Ctrl+逗号)搜索 cmake.cmakePath 可以看到 Name/path of the CMake executable to use. 默认为 cmake 将其设置自己安装 cmake.exe 文件地址,例如我的设置是 E:\Program\Develop\Cmake\bin\cmake.exe。另外cmakelists不会自动补全也是这个原因. ) 会自动建立一个build文件夹,进入cmake文件夹执行 cmake … (报错:cmake : 无法将“cmake”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 暂时没用解决,如果在win的cmd中运行指令没用问题,不运行该指令也可编译成功) 执行 mingw32-make.exe 在build文件夹下生成了可执行文件,然后配置json就能运行了. 也可以自己建立build文件夹,然后从cmake… (报错CMake Error at CMakeLists.txt:1 (project): Running

‘nmake’ ‘-?’

failed with:

系统找不到指定的文件。 CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage)

我们之前使用的tasks.json文件是配置的执行g++编译指令 那如何把我们要执行的

cd buildcmake …mingw32-make.exe 对应到tasks.json中,让tasks.json帮我们去执行 { "version": "2.0.0", //进入build目录 "options": { "cwd": "${workspaceFolder}/build" }, "tasks": [ //camke .. { "type": "shell", "label": "cmake", "command": "cmake", "args": [ "..", ], }, //mingw32-make.exe { "label": "make", "group": { "kind": "build", "isDefault": true }, "command": "mingw32-make.exe", "args": [ ] }, { "label": "Build", //对应launch.json的"preLaunchTask" "dependsOn":[ "cmake", "make" ] }, ] } 附录

CMakrLists文件

cmake_minimum_required(VERSION 3.22) project(MYSWAP) add_executable(my_cmake_swap main.cpp swap.cpp) add_definitions(-Wall -g)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有