【问题标题】:Choosing which main function to use in Visual C++ 2010选择在 Visual C++ 2010 中使用哪个主函数
【发布时间】:2011-08-03 07:19:25
【问题描述】:

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

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

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

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

还有其他想法吗?

【问题讨论】:

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

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-12-23
      • 1970-01-01
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多