c++ - Visual Studio C++ 应用程序无法在 32 位计算机上运行

标签 c++ visual-studio-2010 32-bit

我有一个在 Visual Studio 2010 中制作的程序。我在 Release模式和 Win32 解决方案平台上构建了该程序。然后我按照 this guide 创建了一个可执行文件一步步。然后,我将创建的 setup.exe 复制到新的 32 位 计算机上。然后,当我尝试在新计算机上运行安装程序时收到此错误消息:

enter image description here

为什么设置不起作用?我在 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/

相关文章:

c++ - 指针神秘地重置为 NULL

仅在 1 台机器上出现 C++ 警告 : format '%d' expects argument of type 'int'

不带参数的 C++ 存储函数

c++ - 调试 session 期间的内存泄漏 - 可能的威胁?

javascript - 在javascript中将32位无符号小端转换为整数

c++ - 如果类模板将实例化,则变量模板为真?

Visual Studio 中没有 #include<stdio.h> 的 C 程序

visual-studio-2010 - 运行 MsTest 测试时如何模拟 Visual Studio 2010 行为?

windows - 为什么 Windows 32 位称为 Windows x86 而不是 Windows x32?

macos - 在 64 位环境中编译 32 位 OS X 二进制文件