Visual Studio C++ 应用程序不会 运行 在 32 位计算机上
Visual Studio C++ Application wont run on 32bit computer
我有一个程序是我在 Visual Studio 2010 年制作的。我在发布模式和 Win32 解决方案平台上构建了程序。然后我按照 this guide 一步步制作了一个可执行文件。然后,我将创建的 setup.exe 复制到新的 32 位 计算机上。然后,当我尝试 运行 在新计算机上进行设置时收到此错误消息:
为什么设置不起作用?我在 Win32 中构建程序,所以它应该可以在 32 位计算机上运行吗?我错过了什么吗?任何帮助将不胜感激。
发生这种情况有 3 个主要原因。 Windows 可执行文件包含 3 个必须与 OS 匹配的字段:最小 OS 版本号、正确的 CPU 类型和正确的 CPU 位数。现在你可能不会 运行 进入 Windows 版本问题(我认为错误消息是不同的),你不太可能有错误的 CPU 类型(ARM 构建非常好很难偶然做出)所以最有可能的情况是你实际上做了一个 64 位构建。
"Win32" 在这里是一个相当具有欺骗性的术语,它并不总是排除 64 位构建。例如。 宏 WIN32
也为 64 位构建定义。
@Mailerdaimon 和@MSalters 你是对的。尽管我是在 win32 中构建程序,但目标机器是 x64。将其更改为 x86 后,程序 运行。感谢大家的帮助!
我有一个程序是我在 Visual Studio 2010 年制作的。我在发布模式和 Win32 解决方案平台上构建了程序。然后我按照 this guide 一步步制作了一个可执行文件。然后,我将创建的 setup.exe 复制到新的 32 位 计算机上。然后,当我尝试 运行 在新计算机上进行设置时收到此错误消息:
为什么设置不起作用?我在 Win32 中构建程序,所以它应该可以在 32 位计算机上运行吗?我错过了什么吗?任何帮助将不胜感激。
发生这种情况有 3 个主要原因。 Windows 可执行文件包含 3 个必须与 OS 匹配的字段:最小 OS 版本号、正确的 CPU 类型和正确的 CPU 位数。现在你可能不会 运行 进入 Windows 版本问题(我认为错误消息是不同的),你不太可能有错误的 CPU 类型(ARM 构建非常好很难偶然做出)所以最有可能的情况是你实际上做了一个 64 位构建。
"Win32" 在这里是一个相当具有欺骗性的术语,它并不总是排除 64 位构建。例如。 宏 WIN32
也为 64 位构建定义。
@Mailerdaimon 和@MSalters 你是对的。尽管我是在 win32 中构建程序,但目标机器是 x64。将其更改为 x86 后,程序 运行。感谢大家的帮助!