03-vscode编译调试多个源文件程序

vscode+mingw搭建C/C++环境系列

01.vscode+mingw搭建编译调试环境

02-vscode编译调试单个源文件程序

03-vscode编译调试多个源文件程序

04-vscode搭建cmake的编译环境


一、简述

前面文章中已经简单说明了,如何使用vscode编译调试单个源文件程序,本文继续上一个章节说明下如何使用vscode编译调试多个源文件程序

二、vscode编译调试多个源文件程序

1.创建多个源文件程序

在原有代码的基础上(main.cpp),新建文件夹add,然后在该文件夹下面添加文件add.h和add.cpp,将原本add函数的声明和实现分别放到add.h和add.cpp中,文件结构如下:
在这里插入图片描述
add.h

int add(const int &var1,const int& var2);

add.cpp

#include "add.h"
int add(const int &var1,const int& var2)
{
    
    
    return var1+var2;
}

main.cpp

#include <iostream>
#include <sstream>
#include "add/add.h"

int main(int argc,char** argv)
{
    
    
   std::cout<<"VsCode Test"<<std::endl; 
   int var1=10,var2=20;
   std::ostringstream ss;
   ss<<"var1+var2="<<add(var1,var2)<<"\n";
   std::cout<<ss.str().c_str();
   return 0;
}

2.调试运行多文件程序

Run Code

将鼠标的焦点放到要编译运行的源代码文件上,在窗口的右上角区域有个右三角的图标,下拉选择Run Code,直接编译运行程序。在多文件下会提示如下报错说明。
![在这里插入图片描述](https://img-blog.csdnimg.cn/8c93693e8ded47caba198da430f45b98.png
在这里插入图片描述
错误说明:vscode使用g++编译的时候默认只编译了单个文件,所以没有将add.cpp进行编译,导致程序在链接的过程中找不到add(const int& ,const int&)函数的符号。

a.settings.json文件说明

settings.json是VS Code众多配置文件中的一个,可以对VS Code进行页面风格、代码格式、字体颜色大小等 的编辑设置,例如:前面文章中提到到自动保存、字体、文件编码等。
vscode设置界面分用户区和工作区
用户区:会应用于该用户打开的所有的工程,配置一些基础、常用、共用的配置。
工作区:仅适用于vscdoe打开的当前目录。

b.修改settings.json文件编译参数

本文将编译参数的设置都放在了工作区,
文件–>首选项–>设置->搜索code run–>选择Code-runner:Executor Map设置编译参数,点击编辑,会生成settings.json。
在这里插入图片描述
在这里插入图片描述
Code-runner:Executor Map中的下面展示了C和C++的编译参数,由多个组合命令完成了整个编译运行的过程,修改cpp的编译选项,增加add/add.cpp文件的编译。如下图所示:
在这里插入图片描述
以cpp的编译选项进行简单说明:

  • cd $dir :先进入到工作区目录
  • g++ $fileName -Iadd add/add.cpp -o $fileNameWithoutExt :g++的编译选项,-I指定头文件目录add,增加编译add/add.cpp文件,-o 输出目标文件
  • $dir $fileNameWithoutExt:运行当前应用程序
{
    
    
    "code-runner.executorMap": {
    
    
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ $fileName -Iadd add/add.cpp -o $fileNameWithoutExt && $dir$fileNameWithoutExt", 
    }
}

再次点击Run Code,代码编译运行成功,

3.调试C/C++文件

直接点击调试C/C++文件的程序,vscode会直接报错,
在这里插入图片描述
在多个源文件程序中,如果需要调试,就需要修改tasks.json文件。

a.修改tasks.json文件

前面在运行多个源文件程序的时候,我们修改了settings.json文件,tasks.json文件是vscode调试时候依赖的文件,同样也需要修改编译选项如下: 在编译参数args里面添加编译文件的选项,如下所示:
在这里插入图片描述
修改完成后在点击调试C/C++文件,即可完成调试。


猜你喜欢

转载自blog.csdn.net/qq_37103755/article/details/128448022
今日推荐