选择在Visual C ++ 2010中使用哪个主要功能

时间:2011-08-03 07:19:26

标签: c++ visual-studio-2010 visual-c++

我正在从Unix移植C ++应用程序,原始开发人员使用main()函数创建了几个文件,然后使用Makefile选择要使用的main()。

如何在Visual C ++ 2010中选择哪个文件包含main()函数?

目前,当我编译时,由于重复的main()符号,我得到链接器错误。

我唯一能想到的是宏条件。

还有其他想法吗?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

在每个源文件的“配置属性”中(右键单击“解决方案资源管理器”),您可以选择“从构建中排除”。由于这是一个按配置设置,您可以添加一些配置并使用main()相互排除文件。例如,对于配置'MainA',你包括maina.cpp并排除mainb.cpp和mainc.cpp,'MainB'包括mainb.cpp并排除maina.cpp和mainc.cpp等。

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