1. 问题:undefined reference to ’xxx‘,是由多文件编译引起的错误。

C/C++ VScode 多文件编译配置(undefined reference to

搜索了其他帖子,都是改json配置文件的,改了之后不起作用。

2.先安装一个插件C/C++ Project Generator

C/C++ VScode 多文件编译配置(undefined reference to

安装好之后,
(1)在桌面上新建一个空文件夹,用vscode打开这个空文件夹
(2)快捷键(ctrl+shift+p),调出搜索命令框,输入create C/C++ project

C/C++ VScode 多文件编译配置(undefined reference to

生成C++项目文件。
generator自动生成了main.cpp

#include <iostream>

int main(int argc, char *argv[])
{
std::cout << "Hello world!" << std::endl;
}

再写两个文件构成多文件编译,fun.cpp和fun.h

#include <iostream>

void fun(){
std::cout << "Hello fun!" << std::endl;
}
#ifndef _FUN_

void fun();

#endif

将main.c文件也补一些代码

#include <iostream>
#include "fun.h"

int main(int argc, char *argv[])
{
std::cout << "Hello world!" << std::endl;
fun();
}

3. 打开设置

搜索框内搜索code runner

C/C++ VScode 多文件编译配置(undefined reference to

找到Executor Map,点击setting.json编辑

C/C++ VScode 多文件编译配置(undefined reference to

将$fileName改为 *.cpp

C/C++ VScode 多文件编译配置(undefined reference to

再运行main.cpp运行成功

C/C++ VScode 多文件编译配置(undefined reference to