我需要为运行 Windows 98SE 的旧系统构建我的应用程序。(系统涉及特殊硬件,无法升级操作系统。)我的开发环境是Visual C++;该应用程序是 vanilla ANSI C,结果是一个 WIN32 控制台应用程序。
我知道在 Visual Studio 2008 中完全放弃了对旧版本 Windows 的支持,所以我改用 Visual Studio 2005(我的上一代 Windows XP 笔记本电脑上仍然有它)。我有条件编译以避免调用 W98SE 下不可用的 API 函数,并且我知道不使用 Unicode。
nb这一切都过去了。我过去成功地构建了 W98SE 可执行文件。不知何故。
我构建的应用程序失败并显示“需要更新版本的 Windows。升级您的 Windows 版本”。
我用十六进制编辑器检查了 .exe 文件,WINVER 值(在本例中为十进制偏移 288)是 4,应该是。在正常构建中,即对于现代 Windows 版本,WINVER 值(在本例中为十进制偏移 296)为 5。那么 WINVER=4 版本如何导致“期望更新版本”错误被举报?