如何在Visual Studio中统一管理多个自带Makefile的C++项目文件夹
Visual Studio 同解决方案管理多独立Makefile C++项目的方法
完全可以在同一个Visual Studio实例里管理所有独立小项目,有两种常用方案可选:
方案1:使用打开文件夹模式(无需创建单独解决方案文件,推荐快速上手)
- 打开Visual Studio,在启动页选择「打开本地文件夹」,选中所有子项目(cpp-class、cpp-memory等)的共同上级根目录
- VS会自动加载目录下所有文件,解决方案资源管理器会保留原有的目录结构,代码的语法高亮、智能补全功能均可正常使用
- 针对每个子项目的Makefile构建需求,按如下步骤配置:
- 右键任意子目录下的
Makefile,选择「配置任务」,对应你使用的make工具选择nmake(MSVC工具链)或gmake(MinGW工具链) - 打开自动生成的
tasks.vs.json,为每个子项目单独配置构建任务,示例配置如下:
{ "version": "0.2.1", "tasks": [ { "taskLabel": "构建cpp-class项目", "appliesTo": "*/cpp-class/Makefile", "type": "default", "command": "make", "workingDirectory": "${workspaceRoot}\\cpp-class" }, { "taskLabel": "构建cpp-memory项目", "appliesTo": "*/cpp-memory/Makefile", "type": "default", "command": "make", "workingDirectory": "${workspaceRoot}\\cpp-memory" } ] }- 配置
launch.vs.json添加每个子项目的启动项,指定可执行文件路径和对应工作目录,之后切换顶部工具栏的启动项即可直接运行、调试不同子项目
- 右键任意子目录下的
方案2:使用传统解决方案+多子项目模式(适合需要长期管理的场景)
- 打开Visual Studio,新建一个「空白解决方案」,不要选择任何C++项目模板
- 右键解决方案资源管理器中的解决方案节点,选择「添加」→「新建项目」,搜索「Makefile 项目」模板,每个子文件夹对应创建一个Makefile项目:
- 项目存储路径指向对应子文件夹
- 构建命令填写
make,清理命令填写make clean,输出项填写对应子目录下make生成的可执行文件名
- 所有子项目添加完成后,你可以右键任意子项目单独执行生成、清理、调试操作,所有代码均可在同一个解决方案资源管理器中浏览编辑
注意事项
- 不要将多个子项目的代码添加到同一个C++项目中,每个子项目都有独立的
main函数,合并到同一个项目会触发符号重复定义错误 - 若使用MSVC工具链,建议从Visual Studio的「开发人员命令提示符」启动VS,确保
make执行时能正确找到cl.exe等编译工具 - 若使用MinGW工具链,需要提前将MinGW的
bin目录添加到系统环境变量中,保证VS能识别到make命令
内容的提问来源于stack exchange,提问作者arthur.johnson221
相关产品推荐
相关产品推荐

