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

VS2010(32bit) + WIN7(64bit) 编译出不同平台程序版本的更多相关文章

  1. vs2010编译出的exe“应用程序无法正常启动(0xc0150002)”

    今天编译出一个使用ogre1.6.5动态库的应用程序,启动时报"应用程序无法正常启动(0xc0150002)"的错误提示. 编译环境是Win10+VS2010.这个错误可以在Win ...

  2. Qt软件打包发布(QT5.4.1(msvc2013_64_opengl),Win7 64bit)

    环境:QT5.4.1(msvc2013_64_opengl),Win7 64bit 编译方式 Qt开发的程序发布的时候经常采用两种方式:1)静态编译,可生成单一的可执行文件:2)动态编译,需同时附上需 ...

  3. win7 64bit+vs2010 操作注册表

    注册表五个根键 HKEY_CLASSES_ROOT--管理文件系统  HKEY_LOCAL_MACHINE--管理当前系统硬件配置  HKEY_LOCAL_USER--管理系统当前用户配置  HKEY ...

  4. Windows下编译memcached-1.4.5(32bit和64bit)

    1.简介 Memcached 是一个高性能的分布式内存对象缓存系统.它通过将数据缓存在内存中来减少对数据库和文件系统的访问,减轻数据库及操作系统的负担,提高应用系统的速度. 目前已经很多系统应用了me ...

  5. 再谈VS2010编译更高平台vs2012(v110),vs2015(v140)的objectARX程序

    前段时间我贴了一篇vs2010批量编译vc6~vs2008的ARX版本,实际上那一篇是我在研究vs2010编译v110,v140平台的附带收获,正应了那句话,有心栽花花不开,无心插柳柳成荫,因为vs2 ...

  6. 使用AS编译jni文件无法编译出arm64-v8a,x86_64和mips64平台的.so文件的解决方法

    我用的插件版本是:classpath 'com.android.tools.build:gradle-experimental:0.4.0',AS集成和使用ndk编译项目参考官方demo:https: ...

  7. Win7 64bit下32bit的 ODBC 数据源问题

    win764位有数据源,但是如果我们在win7 64bit中使用32位的数据源的时候,我们就需要对其进行配置,很有趣的是,64为的数据源我们可以在控制面板——系统与安全——管理工具——数据源,进入可对 ...

  8. 【PC-x86-x64】JDK 32bit与64bit的区别及x64 PC的发展历程【转】

    一次偶然分析的机会: 在进行Minecraft也就是所谓的我的世界游戏的时候,在对局域网进行开放的时候,我的是64bit的JDK,而我同学的是32bit的JDK,所以在进行局域网链接的时候就会出现In ...

  9. Linux Kernel sys_call_table、Kernel Symbols Export Table Generation Principle、Difference Between System Calls Entrance In 32bit、64bit Linux

    目录 . sys_call_table:系统调用表 . 内核符号导出表:Kernel-Symbol-Table . Linux 32bit.64bit环境下系统调用入口的异同 . Linux 32bi ...

随机推荐

  1. Chapter 9 软件实现

    软件实现包括代码设计.设计审查.代码编写.代码走查.代码编译和单元测试等活动.程序设计语言有很多,从机器语言到高级语言一直发展.软件编码需要遵循一些规范,JAVA代码有适当的空行,代码行及行内空格.分 ...

  2. 学习pl/sql之一

    --使用pl/sql语句打印一个hello world begin   dbms_output.put_line('hello,world'); end;      但是在sqlplus里面就不一样了 ...

  3. Codeforces Round #341 (Div. 2) E. Wet Shark and Blocks dp+矩阵加速

    题目链接: http://codeforces.com/problemset/problem/621/E E. Wet Shark and Blocks time limit per test2 se ...

  4. 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (五) 树莓派单子节点发送数据

    本项目中各个节点和树莓派的通信不区分信道,因此如果由树莓派发送给特定节点的数据会被所有节点接收到,因此子节点可以判别该数据是否发给自己的,需要在数据的第二个字节中加入目标节点的编号(第一个字节为源节点 ...

  5. 6/4 sprint2 看板和燃尽图的更新

  6. GDI+缩放图片

    uses WinAPI.GDIPAPI, WinAPI.GDIPOBJ; var  Bitmap1: TGPBitmap;  Bitmap2: TBitmap;  Graphic: TGPGraphi ...

  7. 微信小程序入门一: 简易form、本地存储

    实例内容 登陆界面 处理登陆表单数据 处理登陆表单数据(异步) 清除本地数据 实例一: 登陆界面 在app.json中添加登陆页面pages/login/login,并设置为入口. 保存后,自动生成相 ...

  8. Linux环境下安装配置Mysql

    首先我们的使用的是linux的 centOS6 版本 安装mysql: 1.查看有没有安装包 yum list mysql* 2.进行安装mysql:一般我们在服务器端安装的都是服务端( mysql- ...

  9. 根据端口号,利用DOS命令杀死进程

    比如利用DOS命令找出占用8080端口的程序的PID 然后用DOS命令杀死该进程 kill

  10. 先验算法(Apriori algorithm) - 机器学习算法

    Apriori is an algorithm for frequent item set mining and association rule learning over transactiona ...