c++ - Visual Studio 中的多个主要 CPP 文件?

标签 c++ visual-studio program-entry-point

我有一些软件的示例目录,其中包含多个具有多个main 函数的文件。我可以将所有这些文件组装到一个项目中,编译它们然后运行特定的文件而不会出现 main already defined 错误吗?假设我不想为每个 cpp 文件创建单独的项目。

更新

我需要简单的一键式两次单击解决方案(如果存在)。我不想在文件夹之间分发文件或重构文件内容。例如,在 Eclipse/Java 中,您可以用 main 右键单击​​任何文件并运行它。并且一个项目中可以有多个主文件。这对 VisualStudio/CPP 可行吗?

更新 2

我知道 C++ 不是 Java,Visual Studio 也不是 Eclipse。我的问题是关于一些手动操作的自动化。

最佳答案

将那些 main 函数放在单独的命名空间中,然后定义您想运行哪一个,例如。

File1.cpp

namespace F1
{
    int main(int argc, char * argv[])
    {
        // ...
    }
}

The-real-main.cpp

int main(int argc, char * argv[])
{
    if (whatever)
        return F1::main(argc, argv);
}

编辑:响应附加信息。

C++ 不是 Java,VS 也不是 Eclipse :) 在 VS 中同时维护多个程序的自然方法是将多个项目(一个用于每个可执行文件或库)放在一个解决方案中。如果要运行项目,只需在 Solution Explorer 中右键单击它,选择 Set as Startup Project,然后单击 Start 按钮运行它。

要将项目添加到解决方案,请右键单击该解决方案并选择添加 | 新项目...添加 | 现有项目

关于c++ - Visual Studio 中的多个主要 CPP 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17022538/

相关文章:

c++ - 意外的大 u16_t buf

c++ - 在 API 和应用程序线程之间共享数据

python - pybind11:使用设置工具链接

c# - 页面加载后,Xamarin WebView.CanGoBack 和 CanGoForward 始终返回 false

java - 为什么 javafx 忽略 main 的返回并仍然启动应用程序?

linux - shell 脚本 : sed command is ignoring INFO lines given main 2>&1

C++ Boost::如何从顶点描述符创建映射?

c# - 执行使用 Visual Studio 创建的 *.msi 文件时出错

c++ - 如何让 std::pair<char *, char *> 在 Visual Studio 的调试器中显示为正确的字符串段?

c++ - 在main函数中调用join child pthread