• 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编译出来的程序报错信息如下:

  • 相关阅读:
    jsp+servlet实现的验证登陆
    Servlet转发
    ServletContext的使用
    Servlet获取配置信息(ServletConfig)
    Servlet线程安全问题(转载)
    编程式导航
    声明式导航
    Vue Router
    路由
    vue-cli 单文件组件 工具安装
  • 原文地址:https://www.cnblogs.com/ycpanda/p/3667795.html
Copyright © 2020-2023  润新知