vs2010 在64bits系统下编译

vs只有32bits的没有64bits。

 

本来程序没问题,后面一直报错

LIBCMTD.lib(close.obj) : error LNK2001 LNK2019

换了各种 MD/MT/MTD 都没用,其实只要一步就可以,将win32改成x64就好了。

 

 

这个帖子http://www.cnblogs.com/ycpanda/p/3667795.html,是很系统的配置32bits的vs2010在64bits的系统下生成。

 

 

 

 

一、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
这样编译出来的程序自然可以到处跑。

posted @ 2016-03-08 23:04  qingsun_ny  阅读(240)  评论(0编辑  收藏  举报