32bit应用程序转位64bit

本文介绍如何使用VC6.0和Microsoft Platform SDK将32位程序转换为能在64位系统上运行的应用,包括环境搭建、配置修改等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到32位程序在64位无法运行,查看资料和测试,记录下便于以后开发遇到此类问题.


工具:

VC6.0(也可以是VS);

PlatSDK(我用的是Microsoft Platform SDK for Windows Server 2003 SP1);


步骤:


1. 在开始菜单的所有程序中选择"Microsoft Platform SDK for Windows Server 2003 SP1"->"Visual Studio Registration"

->"Register PSDK Directories with Visual Studio".完成注册.

2. 在开始菜单的所有程序中选择"Microsoft Platform SDK for Windows Server 2003 SP1"->"Open Build Environment Window"

->"Windows XP 64-bit Build Environment"->"Set Windows XP x64 Build Environment (Debug)".最后一项也可以选"Set Windows XP x64 Build Environment (Retail)",build出来的应用程序是无法进行debug 的.

3. 在弹出来的cmd窗口中将路径指向VC的安装目录(cd "C:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin/").

4. 输入引号中的命令"Msdev/useenv".打开了VC,其中VC的菜单tool的Options设置窗口中的Directories下的include,lib,Executable都已经默认做了修改.

5. 打开一个存在的32位应用程序.

6. 新建一个配置:”Build”->”Configurations”->”Add”,在”Add Project Configuration”对话框上, 设置”Configuration”为Debug64, 然后, 在”Copy Settings from”列表框中点击”32BitTestAp – Win32 Debug”, 点击”OK”完成设置, 点击”Close”关 闭.在”Build”菜单上, 点击”Set Active Configuration”为刚新加配置"Debug64".

7. "Project"->"setting"->"Link"标签上, 在”Project options”的输入框中, 将/machine:I386改为/machine:AMD64.

8.  ReBuild ALL.


当时build遇到提示spawning ***.exe err,***忘记是什么了.去注册表解决.开始菜单->运行->regedit.

HKEY_CURRENT_USER/Software/Microsoft/DevStudio/6.0/Build System/Components/Platforms/Win32 (x86)/Tools/COFF Linker for 80x86/Executable Path的值修改为link.exe

HKEY_CURRENT_USER/Software/Microsoft/DevStudio/6.0/Build System/Components/Platforms/Win32 (x86)/Tools/32-bit C/C++ Compiler for 80x86/Executable Path的值修改为cl.exe

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值