VisualStudio中的多个主要CPP文件?

Suz*_*ioc 11 c++ program-entry-point visual-studio

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

UPDATE

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

更新2

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

Spo*_*ook 17

将这些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);
}
Run Code Online (Sandbox Code Playgroud)

编辑:回复其他信息.

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

要将项目添加到解决方案,请右键单击解决方案并选择Add| New project...或者Add| Existing project.


Joh*_*lin 8

在视觉工作室:

创建一个“解决方案”——在一个解决方案下可以创建多个“项目”。每个项目将单独编译成一个可执行文件。除了“卸载”不需要的项目之外,编译正常完成。为了重新打开其他项目之一,只需从解决方案资源管理器中选择“重新加载项目”。

此功能对于学习/组织目的非常有用,其中将源文件分组到一个公共“文件夹”中以便于搜索和访问,同时仍单独编译/调试。据我所知,主要优点是可以使用解决方案资源管理器轻松浏览项目。


Mar*_*tos 4

我没有使用过 OpenCV,但它使用 cmake,并且在示例目录中有一个 CMakeLists.txt。这里有一些关于使用 cmake 构建示例的讨论。

Cmake 本身不会构建任何内容,它会为目标平台生成构建脚本,并且应该能够创建可加载到 Visual Studio 中的解决方案和项目文件。