目前想要做一个有test.cpp(运行文件)和game.cpp(头文件函数声明)以及game.h(头文件)的项目,但是说是vscode不支持多文件编译,不知道如何去配成多文件编译的格式
这个问题配置方法挺麻烦的,具体流程我也不太记得了……但是可以大致说一说思路
你搜一搜 "vscode c语言 多文件 环境配置"这类内容,诸如:https://blog.csdn.net/hzf978742221/article/details/116101789
过程中遇到的报错问题也原封不动复制下来搜索,大多数能碰到同样的问题和同样适用的解决方案。
望采纳!
首先,在VS Code中新建一个文件夹作为工作空间,并在其中新建test.cpp、game.cpp和game.h三个文件。
然后,我们需要创建一个tasks.json文件,告诉VS Code如何编译源程序。具体操作步骤如下:
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"test.cpp",
"game.cpp",
"-o",
"output"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always"
}
}
]
}
这个tasks.json文件告诉VS Code如何使用g++编译我们的test.cpp和game.cpp文件,并生成一个名为“output”的可执行文件。其中,“-g”参数表示生成调试信息,便于我们进行调试。
最后,我们需要在test.cpp中包含game.h头文件,并在其中调用game.cpp中的函数。test.cpp代码如下:
#include "game.h"
int main() {
Game g;
g.play();
return 0;
}
game.h头文件中声明了Game类和相应的函数,game.cpp中实现了这些函数。具体代码如下:
game.h
#ifndef GAME_H
#define GAME_H
class Game {
public:
Game();
void play();
};
#endif
game.cpp
#include <iostream>
#include "game.h"
using namespace std;
Game::Game() {}
void Game::play() {
cout << "This is a game!" << endl;
}
现在,我们可以按下F5运行程序,并在输出窗口中看到“This is a game!”。同时,我们也可以在VS Code中进行调试,查看变量的值等。