如何编译 32 位程序并在 Windows 7 等 64 位操作系统上运行?
Posted
技术标签:
【中文标题】如何编译 32 位程序并在 Windows 7 等 64 位操作系统上运行?【英文标题】:How can I compile a 32bit program and run it on a 64 OS system such as Windows 7? 【发布时间】:2011-06-06 17:42:56 【问题描述】:我有一个在 x86 系统(32 位)中在 Visual Studio 2005 中编译的程序,但是当我尝试在 x64 操作系统(64 位 Windwos 7、Windows 2003、Windows 2008)中运行它时,它不会执行,我只收到以下消息:
"myapp.exe has stopped working
Windows is checking for a solution to the problem... "
我在执行机器上安装了适用于 32 位和 64 位的 Microsoft Visual C++ 2005 Redistributable Package(vcredist_x86.exe 和 vcredist_x64.exe),但应用程序仍然无法运行。
我还在配置管理器窗口中将开发机器上的选项更改为从“任何 CPU”生成到“x86”平台,结果相同。
是否有任何其他配置选项、dll、lib 或包允许以 32 位编译 myapp 并以 64 位执行?
感谢您的建议。
尤金。
【问题讨论】:
制作这个社区维基怎么样?这可能是一个分散的问题(我还有 winXp) @BlackBear,不合适。 32 位应用程序应在 64 位 cpu/os 上运行。如果涉及一些过程,它可能是合适的,但在这种情况下,海报应用程序有问题。 【参考方案1】:您无需重新编译程序即可在 64 位操作系统上运行,还有一些其他错误会导致它崩溃。
【讨论】:
以上是关于如何编译 32 位程序并在 Windows 7 等 64 位操作系统上运行?的主要内容,如果未能解决你的问题,请参考以下文章
在Windows系统中使用VC9VC11编译32位64位PHP及其扩展
在 64 位 Windows 上安装 32 位或 64 位应用程序有啥区别?
在 Windows 64 中编译 32 位应用程序时未解析的外部符号