Windows/Visual C++创建新项目选择了错误的项目类型,例如,开发人员可能创建了一个新的Win32应用程序项目,但创建的入口点函数是main。生成应用程序时,会报告一个链接错误,因为Win32应用程序项目会设置 /SUBSYSTEM:WINDOWS 链接器开关,但WinMain 或 wWinMain 函数并不存在。解决办法如下:
1> 把 main 函数改为 WinMain。这通常不是最佳解决方案,因为开发人员希望的可能是创建一个控制台应用程序。
2> 在 Visual C++中创建一个新的 Win32 控制台应用程序项目,然后在新项目中添加现有的源代码模块。此方法过于繁琐,相当于从头开始,而且必须删除原有项目。
3> 在项目属性对话框中,定位到 Configuration Properties(配置属性)/ Linker(链接器)/ System(系统)/ SubSystem(子系统)选项,把 /SUBSYSTEM:WINDOWS 开关改
为: /SUBSYSTEM:CONSOLE,这是最简单的解决办法。
4> 在项目属性对话框中,删除 / SUBSYSTEM:WINDOWS 开关。这能提供最大的灵活性。这样做之后,链接器将根据源代码中实现的函数来执行正确的操作。用 Visual Studio 创建一个新的 Win32 应用程序或 Win32 控制台程序项目时,这才是真正的默认设置。