如何安装和使用VS 2008的64位编译器

如何安装和使用VS 2008的64位编译器,第1张

v

安装方法/步骤

1

首先,进入到控制面板,找到关于对应的vs08,卸载。

在控制面板中的程序和功能选项中,选择Microsoft Visual Studio Team System 2008 Team Suite - 简单中文,然后右击选择“卸载/更新”。

2

之后,进入到卸载的页面,单击“添加/删除功能”,如下图。

3

然后会进入到选项页面,在语言工具一栏中,选择Visual C++中将X64编译器和工具,如下图。

4

之后,便进入到安装的页面。等待即可。

5

在安装完成后,通过开始菜单中,即可看到“Visual Studio 2008 x64 兼容工具命令提示”。

END

配置64位编译器

1

首先,打开一个工程项目,选择“配置管理器”(或者右击项目选择属性,进入到属性页,点击“配置管理器”)

2

接着,在活动解决方案平台选项中,选择“新建”,如下图。

3

之后,在新建页面,选择平台x64(在没安装64编译器情况下,则不会有X64选项),点击“确定”。

4

最后,选择相应的64位平台,进行编译即可实现64位程序的编译。

打开任务管理器,看下程序的进程,如果进程名后面多了“*”号,则说明该进程是32位的,正运行在WOW64兼容模式下。反之,如果没有星号,则是纯64位程序,可以充分发挥64位的优势。

你那程序是用C++本机代码写的?那就好办了,用Visual Studio 2008打开源程序,针对x64平台改变一下编译配置选项,重新编译一遍就行了。

如果是基于.NET CLR的托管代码,就不存在这个问题了。

.NET设计的初衷就是消除平台差异。

设置64位创建环境变量, 用下面任何一种方式都行:

方式一:

点击”开始”菜单, 指向 “Microsoft Platform SDK” >“Open Build Environment Windows” >“Set Windows XP 64 Build Environment”, 然后点击”Set Windows XP 64 Build Environment (Debug)”, 这时, 一个控制台窗口将显示, 一行文本显示像” the build environment set for a 64-bit”.

方式二:

在命令提示符下,

1. 点击”开始”菜单, 然后点击”运行”

2. 键入”command.exe”(没有引号), 然后, 点击”确定”

3. 变化当前目录到C:\Program Files\Microsoft SDK(你的SDK安装目录), 然后键入”SetEnv.bat /XP64”(没有引号)

现在, 开始启动Visual C++ 6.0并用我们刚才配置好的创建环境

1. 在同一个命令窗口中(也就是你刚才设置64位环境的命令行窗口), 打开Visual Studio.

2. 键入 “Msdev /useenv”(没有引号). 请注意, 不要打开一个新的命令行窗口, 再去打开Msdev.exe, 现在Visual C++ 6.0 IDE已经显示, 并且include, library及executable目录均被设置为64位的创建环境(注:查看这些配置, 点击Tools >Options >Directories, 在”Show directories for: “下拉列表中查看相应目录配置).

另外, 如果Msdev.exe不在当前路径下(通常是系统环境变量没有相应指示), 变化目录到你所安装Visual Studio的目录下, 例如: \Microsoft Visual Studio\Common\Msdev98\Bin, 然后, 再键入Msdev.exe.

译注: 在前面的设置64位创建环境变量 , 已经将IDE的executable执行目录调整到SDK的相应目录下面, 也就是说, 作为可执行程序: 编译器和链接器是在SDK目录中, 而不再是默认的\Microsoft Visual Studio\Common\Msdev98\Bin

添加一个64位Debug配置

1. 在Visual C++ IDE中, 打开一个已经在的32位工程(例如: MyApplication)

2. 在”Build”菜单上, 点击”Configurations”.

3. 在”Configurations”对话框上, 点击”Add”.

4. 在”Add Project Configuration”对话框上, 设置”Configuration”到Debug64, 然后, 在”Copy Settings from”列表框中点击”MyApplication – Win32 Debug”

5. 点击”OK”完成设置, 点击”Close”关闭.

设置激活配置为64位

1. 在”Build”菜单上, 点击”Set Active Configuration”.

2. 点击”MyApplication – Win32 Debug64”, 然后, 点击”OK”.

修改编译器和链接器的参数配置

由于64位的编译器和链接器的参数配置和32位的有些不一样, 我们需要修改部分选项, 下面是这些配置步骤:

1. 在”Project”菜单中,点击”Settings”.

2. 在”Project Settings”对话框中, 点击”General”标签. 在”Output directories”, 在”Intermediate files” 和”Output files”输入框中, 键入”Debug64”(没有引号)

3. 在”C/C++”标签上, 在”Debug info”下拉列表中, 选择”Program database(参数选项对应是 /Zi)

4. 在”Link”标签上, 在”Project options”的输入框中, 变化”/machine:I386”(没有引号)到”/machine:IA64”(没有引号)

译注: 正确设置应是: /machine:AMD64

5. 在”View”菜单上, 点击”Workspace”.

6. 然后, 移除帮助文件MyApplication.hpj

7. 如果你的应用程序是基于MFC的, 你必须添加一个MFC路径以避免链接错误:LNK1004 on the Mfc42d.lib, 请按下面步骤 *** 作:

a. 在”Tools”菜单上, 点击”Options”.

b. 在”Directories”标签上, 在”Show directories”下拉列表中, 选择”Library Files”, 现在添加你的平台库所在路径: ”\Microsoft SDK\lib\IA64\mfc”(没有引号)

译注补充: 在”C/C++”标签上, 在”Preprocessor definitions”输入框中将WIN32改成WIN64

创建并调试这个工程

现在Build这个工程, 生成64位应用程序, 这个应用程序被部署在一个IA64计算机上.

要在Visual C++ 6.0中运行这个.exe文件, 按下面步骤:

注意: 你不能够在Visual C++ 6.0 IDE中调试这个.exe文件.

a. 在你的IA64计算机上, 创建一个文件夹: C:\VC6MSVCMON

从X86(32位)计算机上拷贝这些文件到这个新创建的文件夹中:

Msvcmon.exe

Dm.dll

Msdis110.dll

Tln0t.dll

上面这些文件应在你的Visual C++ 6.0安装目录下:

\Visual Studio\Common\MSDev98\Bin

b. 在拷贝完这些文件后, 在IA64计算机上运行Msvcmon.exe, 然后, 点击”Connect”.

c. 在X86(32位)计算机上, 打开Visual C++ 6.0 IDE, 在”Build”菜单上, 点击”Debugger Remote Connection”.

d. 在”Remote Connection”对话框中, 点击”Network TCP/IP”, 然后, 点击”Settings”.

e. 在”Target computer name of address”输入框中, 键入IA64计算机的名称. 点击”ok”两次, 关闭对话框.

f. 在Visual Studio C++ IDE中, 在”Project”菜单上, 点击”Settings”, 在左侧面板, 展开”MyApplication”, 然后, 点击”Debug”标签. 你将注意到”Executable for debug session”输入框包含了MyApplication.exe的路径, 看起来是C:\<X86Path>\MyApplication.exe.

g. 在”Remote executable path and file name”输入框中, 键入”MyApplication.exe”(没有双引号)所在的全路径, 这个路径看起来像: \\<X86ComputerName>\C$\<x86Path>\MyApplication.exe(没有引号).点击”OK”关闭该窗口.

h. 按下CTRL+F5或在”Build”菜单上点击”Execute MyApplication.exe”, 开始运行这个.exe文件, 这个.exe文件现在是运行在IA64计算机上.

注意:如果MyApplication是一个MFC应用程序并且这个工程用到了MFC相关的.dll文件, 请确信在IA64计算机上, 那些.dll文件从\Microsoft SDK\NoRedist\Win64文件夹中已被拷贝到\System32文件夹中.

译注:\Microsoft SDK\NoRedist\Win64存放的是debug和release版本的MFC, ATL相关dll(64位), 实际上你也可以拷贝这些dll文件到你的可执行.exe文件所在同一目录中.

这些dll文件是:

Mfc42d.dll

Mfco42d.dll

Msvcrtd.dll

译注补充: 编译/链接中经常遇到的问题:

链接出错, 通常是RTC, cookie错误, 参见下面链接设置:

http://support.microsoft.com/?scid=kb%3Ben-us%3B894573&x=15&y=14

链接中如出现 Error Spawing bscmake.exe

去掉勾选编译参数(Project settings >c/c++): Generate Browse Info

如果仍不成功, 请仔细检查在菜单项”Tools” >“Options” , 定位在”Directories”标签, 选择”Executable Files”, 在下面的目录列表中, 将<SDK安装目录>\bin路径放在第一项.(这个目录中的64位编译器和链接器程序将重载旧的32位设置).

如果你是动态库和主应用程序链接, 必须保持用的是相同运行时库, 例如: 全部都是Multi-Threads DLL(点击”Project” >“Settings”, 选择”C/C++”标签, 在”Category”下拉列表中选择”Code Generation”, 在下面”Use runtime library”下拉列表中选择).

用Visual C++ .NET IDE创建一个64位应用程序

警告: 在已安装Visual Studio .NET的计算机上, 请不要同时安装64位版本的WinDbg调试器工具, 请读平台SDK的Readme.doc(位置在: C:\Program Files\Microsoft SDK\Bin\Win64\Readme.doc).

设置64位创建环境变量, 用下面任何一种方式都行:

参照前文相同部分.

开始启动Visual C++ .NET, 并用刚才我们创建好的64位环境

1. 在64位SDK环境设置的命令行窗口中,打开Visual Studio .NET.

2. 键入”devenv /useenv”(没有引号), 然后, 点击”OK”. 现在include, library, executable目录被设置成为64位SDK所在目录.

注意: 如果Devent.exe不在当前路径(通常是在系统环境变量Path中未指定Visual Studio .NET安装目录), 请改变文件夹路径到<Visual Studio .NET安装目录>\Microsoft Visual Studio .NET\Common7\IDE, 然后再运行上述命令.

警告:在你运行这个命令后, Visual Studio .NET IDE就被设置成为64位的开发环境, 如果你想清除这个环境, 在打开一个新的Visual Studio .NET IDE之前, 删除在C:\Documents and Settings\<Username>\Local Settings\Application Data\Microsoft\VisualStudio\7.0 下的Vccomponents.dat文件.

添加一个64位调试配置

1. 打开一个已存在的32位工程(例如, MyApplication).

2. 在”Build”菜单上, 点击”Configuration Manager”.

3. 在”Active Solution Configurations”列表中, 点击”New”.

4. 在”New Solution Configurations”对话框中, 在”Solution Configuration Name”下面选择”Debug64”(不包含引号), 并且在”Copy Settings From”下面选择”Debug”.

5. 点击”OK”.

6. 在”Configuration Manager”对话框中, 在”Active Solution Configuration”列表中, 点击选择”Debug64”, 然后点击”OK”.

修改编译器和链接器设置

由于64位的编译器和链接器的参数配置和32位的有些不一样, 我们需要修改部分选项, 下面是这些配置步骤:

1. 在”Solution”(中文:解决方案)浏览窗口中, 右键”Project”, 然后, 点击”Properties”.

2. 在”C/C++”节点, 选择”General”. 设置”Debug Information Format”到”Program Database”(对应的编译选项是/Zi).

3. 在”C/C++”节点中, 选择”Code generation”. 设置”Buffer Security Check”到”No”(对应的编译选项是/GS).

4. 在”Linker”节点, 选择”Command Line”.在”Additional Options”下面, 添加”/MACHINE:IA64”(没有引号).

5. 如果你的应用程序是基于MFC的,你必须添加MFC路径以避免收到链接错误:LNK1104 on the Mfc42d.lib file.

添加MFC路径, 按下面步骤:

a. 在”Tools”菜单上, 点击”Options”.

b. 在”Projects”下面, 选择”VC++ Directories”. 在”Show directories”列表中, 选择”Library Files”.如果库路径没有列出, 添加这个库路径"\Microsoft SDK\lib\IA64\mfc"(没有引号).

注意:如果MyApplication是一个MFC应用程序并且这个工程用到了MFC相关的.dll文件, 请确信在IA64计算机上, 那些.dll文件从\Microsoft SDK\NoRedist\Win64文件夹中已被拷贝到\System32文件夹中.

这些dll文件是:

Mfc42d.dll

Mfco42d.dll

Msvcrtd.dll

完成这些后, 就可以build 64位可执行程序了.

调试工程参照Visual C++ 6.0 IDE部分.

更多参考在:

64-Bit Programming with Visual C++

64位程序移植问题设置64位创建环境变量, 用下面任何一种方式都行:

方式一:

点击”开始”菜单, 指向 “Microsoft Platform SDK” >“Open Build Environment Windows” >“Set Windows XP 64 Build Environment”, 然后点击”Set Windows XP 64 Build Environment (Debug)”, 这时, 一个控制台窗口将显示, 一行文本显示像” the build environment set for a 64-bit”.

方式二:

在命令提示符下,

1. 点击”开始”菜单, 然后点击”运行”

2. 键入”command.exe”(没有引号), 然后, 点击”确定”

3. 变化当前目录到C:\Program Files\Microsoft SDK(你的SDK安装目录), 然后键入”SetEnv.bat /XP64”(没有引号)

现在, 开始启动Visual C++ 6.0并用我们刚才配置好的创建环境

1. 在同一个命令窗口中(也就是你刚才设置64位环境的命令行窗口), 打开Visual Studio.

2. 键入 “Msdev /useenv”(没有引号). 请注意, 不要打开一个新的命令行窗口, 再去打开Msdev.exe, 现在Visual C++ 6.0 IDE已经显示, 并且include, library及executable目录均被设置为64位的创建环境(注:查看这些配置, 点击Tools >Options >Directories, 在”Show directories for: “下拉列表中查看相应目录配置).

另外, 如果Msdev.exe不在当前路径下(通常是系统环境变量没有相应指示), 变化目录到你所安装Visual Studio的目录下, 例如: \Microsoft Visual Studio\Common\Msdev98\Bin, 然后, 再键入Msdev.exe.

译注: 在前面的设置64位创建环境变量 , 已经将IDE的executable执行目录调整到SDK的相应目录下面, 也就是说, 作为可执行程序: 编译器和链接器是在SDK目录中, 而不再是默认的\Microsoft Visual Studio\Common\Msdev98\Bin

添加一个64位Debug配置

1. 在Visual C++ IDE中, 打开一个已经在的32位工程(例如: MyApplication)

2. 在”Build”菜单上, 点击”Configurations”.

3. 在”Configurations”对话框上, 点击”Add”.

4. 在”Add Project Configuration”对话框上, 设置”Configuration”到Debug64, 然后, 在”Copy Settings from”列表框中点击”MyApplication – Win32 Debug”

5. 点击”OK”完成设置, 点击”Close”关闭.

设置激活配置为64位

1. 在”Build”菜单上, 点击”Set Active Configuration”.

2. 点击”MyApplication – Win32 Debug64”, 然后, 点击”OK”.

修改编译器和链接器的参数配置

由于64位的编译器和链接器的参数配置和32位的有些不一样, 我们需要修改部分选项, 下面是这些配置步骤:

1. 在”Project”菜单中,点击”Settings”.

2. 在”Project Settings”对话框中, 点击”General”标签. 在”Output directories”, 在”Intermediate files” 和”Output files”输入框中, 键入”Debug64”(没有引号)

3. 在”C/C++”标签上, 在”Debug info”下拉列表中, 选择”Program database(参数选项对应是 /Zi)

4. 在”Link”标签上, 在”Project options”的输入框中, 变化”/machine:I386”(没有引号)到”/machine:IA64”(没有引号)

译注: 正确设置应是: /machine:AMD64

5. 在”View”菜单上, 点击”Workspace”.

6. 然后, 移除帮助文件MyApplication.hpj

7. 如果你的应用程序是基于MFC的, 你必须添加一个MFC路径以避免链接错误:LNK1004 on the Mfc42d.lib, 请按下面步骤 *** 作:

a. 在”Tools”菜单上, 点击”Options”.

b. 在”Directories”标签上, 在”Show directories”下拉列表中, 选择”Library Files”, 现在添加你的平台库所在路径: ”\Microsoft SDK\lib\IA64\mfc”(没有引号)

译注补充: 在”C/C++”标签上, 在”Preprocessor definitions”输入框中将WIN32改成WIN64

创建并调试这个工程

现在Build这个工程, 生成64位应用程序, 这个应用程序被部署在一个IA64计算机上.

要在Visual C++ 6.0中运行这个.exe文件, 按下面步骤:

注意: 你不能够在Visual C++ 6.0 IDE中调试这个.exe文件.

a. 在你的IA64计算机上, 创建一个文件夹: C:\VC6MSVCMON

从X86(32位)计算机上拷贝这些文件到这个新创建的文件夹中:

Msvcmon.exe

Dm.dll

Msdis110.dll

Tln0t.dll

上面这些文件应在你的Visual C++ 6.0安装目录下:

\Visual Studio\Common\MSDev98\Bin

b. 在拷贝完这些文件后, 在IA64计算机上运行Msvcmon.exe, 然后, 点击”Connect”.

c. 在X86(32位)计算机上, 打开Visual C++ 6.0 IDE, 在”Build”菜单上, 点击”Debugger Remote Connection”.

d. 在”Remote Connection”对话框中, 点击”Network TCP/IP”, 然后, 点击”Settings”.

e. 在”Target computer name of address”输入框中, 键入IA64计算机的名称. 点击”ok”两次, 关闭对话框.

f. 在Visual Studio C++ IDE中, 在”Project”菜单上, 点击”Settings”, 在左侧面板, 展开”MyApplication”, 然后, 点击”Debug”标签. 你将注意到”Executable for debug session”输入框包含了MyApplication.exe的路径, 看起来是C:\<X86Path>\MyApplication.exe.

g. 在”Remote executable path and file name”输入框中, 键入”MyApplication.exe”(没有双引号)所在的全路径, 这个路径看起来像: \\<X86ComputerName>\C$\<x86Path>\MyApplication.exe(没有引号).点击”OK”关闭该窗口.

h. 按下CTRL+F5或在”Build”菜单上点击”Execute MyApplication.exe”, 开始运行这个.exe文件, 这个.exe文件现在是运行在IA64计算机上.

注意:如果MyApplication是一个MFC应用程序并且这个工程用到了MFC相关的.dll文件, 请确信在IA64计算机上, 那些.dll文件从\Microsoft SDK\NoRedist\Win64文件夹中已被拷贝到\System32文件夹中.

译注:\Microsoft SDK\NoRedist\Win64存放的是debug和release版本的MFC, ATL相关dll(64位), 实际上你也可以拷贝这些dll文件到你的可执行.exe文件所在同一目录中.

这些dll文件是:

Mfc42d.dll

Mfco42d.dll

Msvcrtd.dll

译注补充: 编译/链接中经常遇到的问题:

链接出错, 通常是RTC, cookie错误, 参见下面链接设置:

http://support.microsoft.com/?scid=kb%3Ben-us%3B894573&x=15&y=14

链接中如出现 Error Spawing bscmake.exe

去掉勾选编译参数(Project settings >c/c++): Generate Browse Info

如果仍不成功, 请仔细检查在菜单项”Tools” >“Options” , 定位在”Directories”标签, 选择”Executable Files”, 在下面的目录列表中, 将<SDK安装目录>\bin路径放在第一项.(这个目录中的64位编译器和链接器程序将重载旧的32位设置).

如果你是动态库和主应用程序链接, 必须保持用的是相同运行时库, 例如: 全部都是Multi-Threads DLL(点击”Project” >“Settings”, 选择”C/C++”标签, 在”Category”下拉列表中选择”Code Generation”, 在下面”Use runtime library”下拉列表中选择).

用Visual C++ .NET IDE创建一个64位应用程序

警告: 在已安装Visual Studio .NET的计算机上, 请不要同时安装64位版本的WinDbg调试器工具, 请读平台SDK的Readme.doc(位置在: C:\Program Files\Microsoft SDK\Bin\Win64\Readme.doc).

设置64位创建环境变量, 用下面任何一种方式都行:

参照前文相同部分.

开始启动Visual C++ .NET, 并用刚才我们创建好的64位环境

1. 在64位SDK环境设置的命令行窗口中,打开Visual Studio .NET.

2. 键入”devenv /useenv”(没有引号), 然后, 点击”OK”. 现在include, library, executable目录被设置成为64位SDK所在目录.

注意: 如果Devent.exe不在当前路径(通常是在系统环境变量Path中未指定Visual Studio .NET安装目录), 请改变文件夹路径到<Visual Studio .NET安装目录>\Microsoft Visual Studio .NET\Common7\IDE, 然后再运行上述命令.

警告:在你运行这个命令后, Visual Studio .NET IDE就被设置成为64位的开发环境, 如果你想清除这个环境, 在打开一个新的Visual Studio .NET IDE之前, 删除在C:\Documents and Settings\<Username>\Local Settings\Application Data\Microsoft\VisualStudio\7.0 下的Vccomponents.dat文件.

添加一个64位调试配置

1. 打开一个已存在的32位工程(例如, MyApplication).

2. 在”Build”菜单上, 点击”Configuration Manager”.

3. 在”Active Solution Configurations”列表中, 点击”New”.

4. 在”New Solution Configurations”对话框中, 在”Solution Configuration Name”下面选择”Debug64”(不包含引号), 并且在”Copy Settings From”下面选择”Debug”.

5. 点击”OK”.

6. 在”Configuration Manager”对话框中, 在”Active Solution Configuration”列表中, 点击选择”Debug64”, 然后点击”OK”.

修改编译器和链接器设置

由于64位的编译器和链接器的参数配置和32位的有些不一样, 我们需要修改部分选项, 下面是这些配置步骤:

1. 在”Solution”(中文:解决方案)浏览窗口中, 右键”Project”, 然后, 点击”Properties”.

2. 在”C/C++”节点, 选择”General”. 设置”Debug Information Format”到”Program Database”(对应的编译选项是/Zi).

3. 在”C/C++”节点中, 选择”Code generation”. 设置”Buffer Security Check”到”No”(对应的编译选项是/GS).

4. 在”Linker”节点, 选择”Command Line”.在”Additional Options”下面, 添加”/MACHINE:IA64”(没有引号).

5. 如果你的应用程序是基于MFC的,你必须添加MFC路径以避免收到链接错误:LNK1104 on the Mfc42d.lib file.

添加MFC路径, 按下面步骤:

a. 在”Tools”菜单上, 点击”Options”.

b. 在”Projects”下面, 选择”VC++ Directories”. 在”Show directories”列表中, 选择”Library Files”.如果库路径没有列出, 添加这个库路径"\Microsoft SDK\lib\IA64\mfc"(没有引号).

注意:如果MyApplication是一个MFC应用程序并且这个工程用到了MFC相关的.dll文件, 请确信在IA64计算机上, 那些.dll文件从\Microsoft SDK\NoRedist\Win64文件夹中已被拷贝到\System32文件夹中.

这些dll文件是:

Mfc42d.dll

Mfco42d.dll

Msvcrtd.dll

完成这些后, 就可以build 64位可执行程序了.

调试工程参照Visual C++ 6.0 IDE部分.

更多参考在:

64-Bit Programming with Visual C++

64位程序移植问题


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11901370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存