You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Visual Studio 2017中嵌套C++项目无法依次运行的问题咨询

让VS2017中两个控制台项目依次运行的解决方法

针对你遇到的问题——在VS2017的解决方案里有两个嵌套的C++控制台项目,启动后只显示一个项目的输出,这里有两种实用的解决思路:

方法一:设置多项目启动顺序(保留独立控制台窗口)

这是最直接的方式,能让两个项目按你想要的顺序依次启动,各自弹出控制台窗口输出内容:

  • 右键点击解决方案(注意不是单个项目),选择「属性」
  • 在左侧导航栏找到「通用属性」→「启动项目」
  • 选择「多启动项目」选项,然后把你的两个项目都添加到列表中
  • 给每个项目的「操作」设置为「启动」,再通过上下箭头调整顺序(比如想先跑Project #1就把它移到上方)
  • 点击确定后,再按Ctrl+F5(不调试运行)或者F5(调试),VS就会按顺序启动两个控制台程序啦

小提示:如果某个控制台窗口一闪而过,你可以在对应项目的main函数末尾加上system("pause");(记得包含头文件<cstdlib>),或者在项目属性里设置「链接器→系统→子系统」为「控制台 (/SUBSYSTEM:CONSOLE)」,就能让窗口保持打开状态。

方法二:将其中一个项目改为库,整合到主项目运行(单窗口输出)

如果你希望两个项目的输出在同一个控制台窗口显示,可以把第二个项目改成静态库,然后在主项目中调用它的逻辑:

  1. 修改Project #2的配置:右键Project #2→属性,把「配置类型」改成「静态库(.lib)」,保存设置
  2. 调整Project #2的代码:把main函数改成普通可调用的函数,比如:
#include "stdafx.h"
#include <iostream>
using std::cout;

void RunProject2() {
    cout << "Project #2 is working.\n";
}
  1. 在Project #1中添加引用:右键Project #1→添加→引用,勾选Project #2
  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

火山引擎 最新活动