VC ++ 64位在32位计算机上构建 [英] VC++ 64 bit build on 32 bit machine

查看:150
本文介绍了VC ++ 64位在32位计算机上构建的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,
我正在尝试创建一个简单的基于Dialog的VC ++应用程序(而不是.net)并运行它.
我有一个带X64编译器的32位计算机(XPsp2)VS2005.
我想构建该应用程序,以便以64位计算机为目标.
我在配置管理器中选择了x64.
构建很好,但我得到的输出不是".exe",而是"exe.intermediate.manifest".我想知道如何在64位计算机中使用它.
我需要具有64位版本,以便它可以在64位计算机中作为64位应用程序工作.但是我的开发PC是32位的.
我现在遇到的问题是,尽管构建正常,但我没有得到EXE,而是得到清单文件.
在项目设置中我还需要做些额外的事情吗?还是有一些构建后步骤将清单文件转换为有效的exe?
有人能指导我如何在VC ++中的32位计算机上创建64位构建吗?
WBR,
Sourabh

Hello ,
I am trying to create a simple Dialog based VC++ application (not .net)and run it.
I have a 32 bit machine (XPsp2) VS 2005 with X64 compiler.
I want to build the application so as to target on 64 bit machine.
I selected the x64 in configuration manager.
The build go fine but what i get as output is not an ".exe" but an "exe.intermediate.manifest". I would like to know how it can be used in a 64 bit machine.
I need to have a 64 bit build so that it works in 64 bit machine as a 64 bit application. But my development PC is a 32 bit.
The problem i have now is that though the build goes fine i do not get an EXE i get the manifest file .
Is there some thing extra which i have to do in the project settings? Or is there some post build steps which will convert this manifest file to a valid exe?
Can some one guide me on how to create 64 bit build on a 32 bit machine in VC++
WBR,
Sourabh

推荐答案

正如 Christian 所说,那不是最终的输出文件.
您可能有一个构建错误,或者您在寻找输出文件的错误位置.
As Christian said, that is not the final output file.
You probably have a build error or you''re looking in the wrong place for the output file.


是的,我在错误的路径中查找.现在我得到了exe文件.我想提一下我所做的任何步骤,可能会对其他人有所帮助.

1)获取安装在计算机中的Visual Studio 64位组件
2)选择菜单构建->配置管理器
活动解决方案平台组合框显示的对话框中,选择X64(如果可用)[仅当您已经创建它时才可用).如果列表中没有它,请从组合中选择new,并在 type显示的 New solution platform 对话框中,或选择new platform 选择一个64位平台(X64我的情况) .您可以选择要复制新平台设置的平台.
3)现在为您的项目选择创建的64位平台并构建您的应用程序.确保正确设置了输出路径:-)(项目属性页->配置属性->常规->输出目录)
4)如果您将32位应用程序升级到64位应用程序,则可能最终会遇到很多内衬&编译错误.
项目的依赖项也应为64位版本.
确保您已经提到了适当文件夹的所有路径.在工具->选项->项目和解决方案VC ++目录中,在平台组合框中选择创建的新平台,并确保在其中正确提及所有路径.
并且还要确保在项目属性中是否存在任何其他依赖项或指定的其他包含目录,以确保它们正确.
对于Windows消息处理程序,您可能会遇到编译器错误,因为它们的签名必须根据VC ++中的新签名进行更改.
Yes I was looking in the wrong path. Now i got the exe. Any how i would like to mention the steps i did as it may help some one else.

1)Get the Visual Studio 64 bit components installed in you machine
2)Select menu Build->Configuration Manager
In the dialog displayed in the Active solution platform combo box select X64 if it is available[it will be available only if you have already created it]. If it is not there in the list select new from the combo and in the New solution platform dialog displayed in the type or select new platform select a 64 bit platform (X64 in my case) . You can choose form which platform you want to copy the settings for the new platform.
3)Now for your project select the 64 bit platform created and build your application. Make sure that the out put path is set properly :-) (Project property pages->Configuration properties->General->Out put Directory)
4)If you are upgrading you 32 bit application to a 64 bit application you may end up in having having many liner & compilation error.
The dependencies of you project also should be in 64 bit version.
Make sure that you have mentioned all the paths to the appropriate folders. In the Tools ->Options->Project and solutions VC++ directories , in platform combo box select the new platform created and make sure that all the paths are mentioned properly in it.
And also make sure that in project properties if there are any additional dependencies or additional include directories specified make sure that they are proper.
For windows message handlers you may get compiler errors as the signature for them will have to be changed according to the new signature for them in VC++.


为什么需要64位版本?如果您构建的是32位版本,则可以在64位版本上运行.清单也是必需的,但是如果您没有exe,并且没有在其他地方运行,则说明构建失败.清单与exe一起使用,而不是exe.
Why do you need a 64 bit build ? If you build a 32 bit build, it will work on 64 bit. The manifest is also needed, but if you have no exe, and it''s not going somewhere else, then your build is failing. The manifest goes WITH the exe, it is NOT the exe.


这篇关于VC ++ 64位在32位计算机上构建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆