我正在从Unix移植一个C++应用程序,最初的开发人员用main()函数创建了几个文件,然后使用Makefile来选择要使用的main()。
在Visual C++ 2010中,如何选择包含main()函数的文件?
目前,当我编译时,我得到一个链接器错误,因为重复的main()符号。
我唯一能想到的就是宏条件。
还有其他想法吗?
发布于 2011-08-03 15:40:51
多个main
函数意味着原始代码不会创建单个可执行文件,而是创建一组可执行文件。您应该弄清楚哪些部分属于每个可执行文件(请阅读Makefile),然后在解决方案中为每个可执行文件创建不同的项目(对库执行相同的操作)。然后,您可以使用IDE选择要编译/运行的可执行文件。
发布于 2011-08-03 15:27:20
在每个源文件的“配置属性”中(在解决方案资源管理器中右击),可以选择“从生成中排除”。由于这是针对每个配置的设置,因此您可以使用main()添加一些配置并相互排除文件。例如,对于配置'MainA‘,包括maina.cpp并排除mainb.cpp和mainc.cpp;对于'MainB’,包括mainb.cpp并排除maina.cpp和mainc.cpp,等等。
另一种选择是只有一个main(),并使用参数或配置文件选择适当的源。或者,也许最好的解决方案是,为每个主文件创建一个项目,并将公共部分放在一个静态或共享库中。
https://stackoverflow.com/questions/6922949
复制相似问题