遇到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