C/C++ VScode 多文件编译配置(undefined reference to 'xxx'错误)

2,085 阅读1分钟

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

img

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

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

img

安装好之后,

(1)在桌面上新建一个空文件夹,用vscode打开这个空文件夹

(2)快捷键(ctrl+shift+p),调出搜索命令框,输入create C/C++ project

img

生成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. 打开设置

image.png

搜索框内搜索code runner

image.png

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

image.png

将$fileName改为 *.cpp

image.png

再运行main.cpp运行成功

image.png