在Visual C++ 2010中选择使用哪个主函数 我从UNIX移植C++应用程序,原始开发人员创建了几个具有主要功能的文件,然后使用MaFaX文件来选择使用哪个主。 如何选择Visual C++ 2010中的主要功能包含哪个文件?

在Visual C++ 2010中选择使用哪个主函数 我从UNIX移植C++应用程序,原始开发人员创建了几个具有主要功能的文件,然后使用MaFaX文件来选择使用哪个主。 如何选择Visual C++ 2010中的主要功能包含哪个文件?,c++,visual-studio-2010,visual-c++,C++,Visual Studio 2010,Visual C++,目前,当我编译时,由于重复的主符号,我得到一个链接器错误 我唯一能想到的就是宏观条件 还有其他想法吗?在每个源文件的配置属性中,在解决方案资源管理器中单击鼠标右键,可以选择“从生成中排除”。由于这是按配置设置的,因此可以添加一些配置,并使用main相互排除文件。例如,对于配置“MainA”,包括MainA.cpp和exclude mainb.cpp和mainc.cpp,对于“mainb”,包括mainb.cpp和exclude MainA.cpp和mainc.cpp,等等 另一种选择是只有一个m

目前,当我编译时,由于重复的主符号,我得到一个链接器错误

我唯一能想到的就是宏观条件


还有其他想法吗?

在每个源文件的配置属性中,在解决方案资源管理器中单击鼠标右键,可以选择“从生成中排除”。由于这是按配置设置的,因此可以添加一些配置,并使用main相互排除文件。例如,对于配置“MainA”,包括MainA.cpp和exclude mainb.cpp和mainc.cpp,对于“mainb”,包括mainb.cpp和exclude MainA.cpp和mainc.cpp,等等


另一种选择是只有一个main,并使用参数或配置文件选择适当的源。或者,也许是最好的解决方案,为每个主文件创建一个项目,并将公共部分放在静态或共享库中。

多个主函数意味着原始代码不创建单个可执行文件,而是创建一组可执行文件。您应该弄清楚哪些部分属于每个可执行文件,读取Makefile,然后在解决方案中创建不同的项目。对于每个可执行文件,对libs执行相同的操作。然后,您可以使用IDE选择要编译/运行的可执行文件。

宏条件是一个很好的主意。@Schnommus:如果原始版本没有宏,那么很可能是为了生成多个可执行文件,在这种情况下,在单个解决方案中创建不同的项目似乎更接近原始代码。