VSCode编译C++多文件项目仅编译main.cpp报链接错误如何解决
问题解决方法
这个报错属于链接阶段错误,报错原因是编译时仅传入了main.cpp文件,没有将Mother.cpp、Daughter.cpp的实现代码一同编译,导致链接器找不到Mother类成员函数的具体实现。
你可以任选以下一种方案解决:
- 方案1:使用VSCode内置构建任务
你现有的tasks.json配置已经写了编译工作区所有.cpp文件的参数,不需要手动修改配置。不要直接在终端输入编译命令,按下快捷键Ctrl+Shift+B调用默认构建任务即可自动完成所有源文件的编译链接。 - 方案2:手动修改终端编译命令
如果你需要手动在PowerShell中执行编译,将原命令修改为包含所有源文件的形式即可:g++ main.cpp Mother.cpp Daughter.cpp -o main
可选优化(非报错必要修改)
你当前代码里存在多余的头文件引入,可以按需移除减少编译开销:
Mother.cpp中不需要引入Daughter.hDaughter.cpp中不需要引入Mother.h
内容的提问来源于stack exchange,提问作者taro
相关产品推荐
相关产品推荐

