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