Visual Studio 2017中嵌套C++项目无法依次运行的问题咨询
让VS2017中两个控制台项目依次运行的解决方法
针对你遇到的问题——在VS2017的解决方案里有两个嵌套的C++控制台项目,启动后只显示一个项目的输出,这里有两种实用的解决思路:
方法一:设置多项目启动顺序(保留独立控制台窗口)
这是最直接的方式,能让两个项目按你想要的顺序依次启动,各自弹出控制台窗口输出内容:
- 右键点击解决方案(注意不是单个项目),选择「属性」
- 在左侧导航栏找到「通用属性」→「启动项目」
- 选择「多启动项目」选项,然后把你的两个项目都添加到列表中
- 给每个项目的「操作」设置为「启动」,再通过上下箭头调整顺序(比如想先跑Project #1就把它移到上方)
- 点击确定后,再按
Ctrl+F5(不调试运行)或者F5(调试),VS就会按顺序启动两个控制台程序啦
小提示:如果某个控制台窗口一闪而过,你可以在对应项目的
main函数末尾加上system("pause");(记得包含头文件<cstdlib>),或者在项目属性里设置「链接器→系统→子系统」为「控制台 (/SUBSYSTEM:CONSOLE)」,就能让窗口保持打开状态。
方法二:将其中一个项目改为库,整合到主项目运行(单窗口输出)
如果你希望两个项目的输出在同一个控制台窗口显示,可以把第二个项目改成静态库,然后在主项目中调用它的逻辑:
- 修改Project #2的配置:右键Project #2→属性,把「配置类型」改成「静态库(.lib)」,保存设置
- 调整Project #2的代码:把
main函数改成普通可调用的函数,比如:
#include "stdafx.h" #include <iostream> using std::cout; void RunProject2() { cout << "Project #2 is working.\n"; }
- 在Project #1中添加引用:右键Project #1→添加→引用,勾选Project #2
- 在Project #1中调用函数:修改Project #1的
main函数,引入Project #2的逻辑:
#include "stdafx.h" #include <iostream> // 注意替换成你Project #2的头文件路径 #include "../Project2/Project2.h" using std::cout; int main() { cout << "Project #1 is working.\n"; RunProject2(); // 可选:暂停窗口查看输出 system("pause"); return 0; }
这样运行Project #1时,就会依次输出两个项目的内容,全部在同一个控制台窗口里。
内容的提问来源于stack exchange,提问作者CyberneticHacker




