C++ 如何在同一个项目中运行多个不同的项目?

C++ 如何在同一个项目中运行多个不同的项目?,c++,visual-studio-2010,visual-studio-2012,visual-studio-2013,C++,Visual Studio 2010,Visual Studio 2012,Visual Studio 2013,是否可以在同一个项目中有多个选项卡并运行多个不同的项目,例如: 当我按ctrl+f5时,它将只运行第一个项目,或者返回一个错误,即存在多个main() 我这样问是因为目前,为了运行多个不同的程序,我必须创建一个新项目,然后添加一个项目,然后将该项目设置为启动项目,这是非常低效和烦人的,而且我不能像那样轻松地在选项卡之间切换 注意:这适用于.cpp项目/项。一个项目中不能有多个main 但是,您可以根据以下命令修改项目运行命令: 在解决方案资源管理器中选择解决方案,然后在关联菜单上选择“属性”

是否可以在同一个项目中有多个选项卡并运行多个不同的项目,例如:

当我按ctrl+f5时,它将只运行第一个项目,或者返回一个错误,即存在多个main()

我这样问是因为目前,为了运行多个不同的程序,我必须创建一个新项目,然后添加一个项目,然后将该项目设置为启动项目,这是非常低效和烦人的,而且我不能像那样轻松地在选项卡之间切换


注意:这适用于.cpp项目/项。

一个项目中不能有多个
main

但是,您可以根据以下命令修改项目运行命令:

  • 在解决方案资源管理器中选择解决方案,然后在关联菜单上选择“属性”
  • 在“属性”对话框中选择“公共属性”、“启动项目”
  • 对于要更改的每个项目,请选择“开始”、“不调试启动”或“无”
  • 编辑:

    所以你是说,与其想并行运行,不如在同一个项目中并行构建

    这是一个非常恶劣的黑客行为,如下所述:

    请记住,如果您尝试,您将违反Visual Studio的设计。把它想象成用手枪打倒大象,因为你不喜欢大象枪装子弹需要多长时间

    编辑:

    之前:

    Test.cpp:

    int main(){
        return 0;
    }
    
    Test2.cpp:

    int main(){
        return 2;
    }
    
    之后:

    Test.cpp

    int test(){
        return 0;
    }
    
    Test2.cpp

    int test2(){
        return 2;
    }
    
    main.cpp

    int main(int argc, char* argv[]){
    
        if(argc > 1 && atoi(argv[1]) == 2){
            return test2();
        }
        else
        {
            return test();
        }
    }
    

    VisualStudio的设置不是为了将小代码片段作为可执行文件处理。只需将*.cpp文件放在一个目录中,并在其上的命令行上手动执行
    cl
    ,或者只需将它们的main方法更改为
    maintest
    maintest2
    ,然后使
    main
    调用一个或多个other@PeterT是否可以在不编译的情况下执行.cpp文件?制作一个调用其他程序的
    main
    ,你能解释一下它是如何完成的,或者告诉我谷歌应该做什么吗?如果你所有的程序都是由一个cpp文件组成的,并且你要用它们创建单独的程序太费劲了,那么你就有比这更大的问题了。学习如何正确使用工具和语言?是的,这就是我在这里问这个问题的目的。非常有帮助@stijn,你应该为此获得一个徽章。这只会让我每次选择每个项目作为启动项目,我仍然需要做其他步骤。我宁愿从记事本++复制粘贴…@kuhaku我担心你的其他步骤是什么。你能启发我吗?VisualStudio中的项目旨在构建1个可执行文件。您可以在多个项目中包含相同的源文件,并构建类似的可执行文件。我希望能够从同一个项目中构建多个可执行文件。。。您可能知道如何将多个项目中的不同main()调用为一个项目中的单个main(),正如PeterT在评论中所提到的,这可以节省我一些时间,如果不麻烦的话,您能解释一下如何执行吗?@kuhaku我在回答中为您添加了一个链接,但让我问您这个问题,将命令行参数传递给
    main
    并让
    main
    使用它来选择将运行哪个“可执行文件”是否有效?@kuhaku我添加了一些代码,让您在行为之间进行命令行切换。