Windows下VSCode中利用CMake编译多文件,并配置lanuch.json完成调试

VSCode中利用CMake编译多文件,并配置lanuch.json完成调试

在项目目录下有两个源文件main.cpp, swap.cpp和一个头文件swap.h和CMakeLists.txt文件,如下图所示:
在这里插入图片描述
main.cpp内容
在这里插入图片描述
swap.cpp内容
在这里插入图片描述
swap.h内容
在这里插入图片描述
CMakeLists.txt内容
在这里插入图片描述
首先需要在VSCODE中点击CTRL+SHIFT+P按钮,输入cmake完成cmake configure配置,配置完成后点击界面下方build即可完成CMake构建,如图所示:
在这里插入图片描述
在文件夹中会自动生成build文件夹,当然也可以手动添加该文件夹,利用cmake … 完成构建。接下来就是调试部分了,这里需要添加一个lanuch.json文件格式如下所示:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/main.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\Tools\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

这里需要设置"program"参数添加生成的可执行文件以便于后续的调试进行,并且更改"miDebuggerPath"中gdb路径。配置完成后即可在VSCode中进行多个源文件间进行调试。如下图所示:
在这里插入图片描述
在这里插入图片描述
此外,需要注意的是,如果在cmd窗口或者powerShell窗口中直接输入

cmake ..

电脑安装Visual Studio的话,可能会调用Visual Studio中的MSVC来编译生成项目,如果想利用mingw编译生成的话,可以使用如下指令:

cmake -G "MinGW Makefiles" ..

而且该指令只需配置一次即可,无需重复配置。
在这里插入图片描述
最后在windows下,编译makefile文件需要使用如下语句:

mingw32-make.exe

生成结果如下图所示:
在这里插入图片描述

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值