我有一个在 Visual Studio 2010 中制作的程序。我在 Release模式和 Win32 解决方案平台上构建了该程序。然后我按照 this guide 创建了一个可执行文件一步步。然后,我将创建的 setup.exe 复制到新的 32 位 计算机上。然后,当我尝试在新计算机上运行安装程序时收到此错误消息:
为什么设置不起作用?我在 Win32 中构建程序,所以它应该可以在 32 位计算机上运行吗?我错过了什么吗?任何帮助将不胜感激。
最佳答案
发生这种情况有 3 个主要原因。 Windows 可执行文件包含 3 个必须与操作系统匹配的字段:最小操作系统版本号、正确的 CPU 类型和正确的 CPU 位数。现在你可能没有遇到 Windows 版本问题(我认为错误消息是不同的),你不太可能有错误的 CPU 类型(ARM 版本很难意外地制作)所以留下最多您实际上构建了 64 位版本的可能场景。
“Win32”在这里是一个相当具有欺骗性的术语,它并不总是排除 64 位版本。例如。 宏 WIN32
也为 64 位构建定义。
关于c++ - Visual Studio C++ 应用程序无法在 32 位计算机上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31931979/