我的代码库中的代码已经编译多年了。我刚刚将 Microsoft Visual Studio Professional 2019 升级到版本 16.11.41,现在在构建我的 Visual Studio 解决方案时,我得到:
qtmaind.lib(qtmain_win.obj):错误LNK2019:函数_WinMain@16中引用的无法解析的外部符号_main
有问题的项目针对主应用程序,它是一个基于托管 C++ CWinApp 的应用程序。如 Microsoft 文档中所述 (https://learn.microsoft.com/en-us/cpp/mfc/cwinapp-the-application-class?view=msvc-170) -
与 Windows 操作系统的任何程序一样,您的框架应用程序具有 WinMain 函数。然而,在框架应用程序中,您不需要编写 WinMain。它由类库提供,并在应用程序启动时调用。
我看到另一篇旧文章提到了这个问题,Windows unicode 命令行 argv,但那里的讨论似乎是围绕 main 用于 Unicode 应用程序的正确形式展开的。不幸的是,我对 CWinApp 应用程序的理解让我相信我无权访问 main。
有什么想法吗? 我在这里的假设是,这是与新版本的 Visual Studio 相关的 Microsoft 问题,我很想知道是否有人遇到过类似的问题。
编辑:请参阅我的答案。暂时保留这篇文章,以防其他人遇到此问题并需要降级 Qt Visual Studio Tools。
谜团解决了 - 事实证明这是 Qt VS Tools 更新(从 3.2.0.47 到 3.3.0.13)完成的。回滚到早期版本似乎可以解决问题。