zoukankan      html  css  js  c++  java
  • VS2010(32bit) + WIN7(64bit) 编译出不同平台程序版本

    一、X86,即一般普通PC上跑的程序版本,不用修改工程属性

    二、X64

    1、设置工程平台---会在工程目录下生成  X64 文件夹

    在工具栏--->生成--->配置管理器 窗口

      设置“活动解决方案平台”和“平台” 为X64,“平台”那里没有X64,就点击新建。

    2、选择目标机器平台

    在工具栏--->项目--->xx属性 窗口

      选择  “配置属性”--->"链接器"--->"高级"--->"目标计算机"--->"MachineX64"

     

    三、DLL依赖问题

    1、取消依赖CLR     

      选择  “配置属性”--->"C/C++"--->"公共语言运行时支持"  设置为无

    2、设置MFC库连接方式

      “配置属性”--->"常规"--->"MFC使用"

      设置为   “使用标准windows库“  或 ”在静态库中使用MFC“

    3、设置代码生成运行库

      “配置属性”--->"C/C++"--->"代码生成"

      设置 ”运行库” 为 "多线程/MT"

    附上CSDN论坛上的一个版主的说明:

    1. 确定用的是32位编译器
    2. 确定不使用/clr选项:这将依赖.NET
    3. 确定使用/MT静态链接CRT
    这样编译出来的程序自然可以到处跑。

    四、可能出现的情况

    1、X64下工程平台和机器目标平台不一致报错

      fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突——我的解决方案

    五、备注

    1、活动解决方案平台,这个和目标程序运行没什么关系,应该不用设置。

      验证 “活动解决方案平台” 为X64 , 项目平台设置为“WIN32”,在X86 xp下还是能运行,生成程序的目录在Release下,而不是X64/Release

    2、项目平台改变,目标平台也会改变

      验证 “目标计算机” 设置为“MachineX64” , 切换工程平台为WIN32时,查看 “目标计算机” 设置已变成 “MachineX86”

    3、X86运行X64编译出来的程序报错信息如下:

  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/ycpanda/p/3667795.html
Copyright © 2011-2022 走看看