none
win764bit下VS2010如何编译C++程序为64bit的? RRS feed

  • 问题

  • RT,win764bit下用VS2010创建VC++程序,默认编译成32位的程序,在工程属性-链接器-高级-目标计算机选择中,将目标由Machinex86改为Machinex64,编译报错:

    fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突

    似乎问题出在配置管理器上,但配置管理器里面只有win32版本的配置,如果需要创建64位配置,应如何操作?

    • 已移动 ChiYau 2012年5月22日 5:54 這個問題和C++有關..發在C++ Forum比較合適 (发件人:Visual Studio 2010)
    2012年5月20日 15:46

答案

  • How to: Configure Visual C++ Projects to Target 64-Bit Platforms


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP

    2012年5月23日 0:26
    版主
  • 你好,

    根据我的理解,不能简单的通过改变“工程属性-链接器-高级-目标计算机”来编译成64位的程序,这样事会出现类型冲突的错误。你可以根据蒋晟的链接来编译C++64位的程序:

    1.  打开属性页面,并单机选中工程属性或者其子菜单节点;

    2.  在此时的对话框上部点击配置管理,弹出对话框中的激活解决平台下,选择新建;

    3.  在弹出对话框中的输入或者选择新平台下拉菜单框中,选择x64

    点击完成,然后再进行编译即可得到64位程序。

    经过上述步骤会自动把/MACHINE:X86替换为/MACHINE:X64,调试信息格式由/ZI改为/Zi等等,详细请查看http://msdn.microsoft.com/en-us/library/9yb4317s

    确保你的机器装了Windows Software Development Kit(SDK),如果上述过程无法编译通过的话。

    希望对你有帮助。


    Elegentin Xie [MSFT] MSDN Community Support | Feedback to us

    2012年5月23日 5:56
    版主

全部回复

  • How to: Configure Visual C++ Projects to Target 64-Bit Platforms


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP

    2012年5月23日 0:26
    版主
  • 你好,

    根据我的理解,不能简单的通过改变“工程属性-链接器-高级-目标计算机”来编译成64位的程序,这样事会出现类型冲突的错误。你可以根据蒋晟的链接来编译C++64位的程序:

    1.  打开属性页面,并单机选中工程属性或者其子菜单节点;

    2.  在此时的对话框上部点击配置管理,弹出对话框中的激活解决平台下,选择新建;

    3.  在弹出对话框中的输入或者选择新平台下拉菜单框中,选择x64

    点击完成,然后再进行编译即可得到64位程序。

    经过上述步骤会自动把/MACHINE:X86替换为/MACHINE:X64,调试信息格式由/ZI改为/Zi等等,详细请查看http://msdn.microsoft.com/en-us/library/9yb4317s

    确保你的机器装了Windows Software Development Kit(SDK),如果上述过程无法编译通过的话。

    希望对你有帮助。


    Elegentin Xie [MSFT] MSDN Community Support | Feedback to us

    2012年5月23日 5:56
    版主