最近我们要把DPM进行行人检测嵌入到我们的项目里,需要一个高级版本的VS,于是我们要把2008转换成2013,至于为什么没有换成最高级的版本,可能担心会遇到有更多的麻烦吧,毕竟我们的DPM源码是在2013上写的。

1. 令2013支持多字节

  我们转成2013后,遇到的最大问题是格式的转换,char要改成wchar_t,string要改成wstring,这使得我们要加无数的_T()、_Text()宏或者L”“,刚开始不明白就傻乎乎的开始转,转了一天的时间发现竟然还没有改全,而这才仅仅是第一个工程,被迫停下来琢磨,才发现VS2013中已经默认不再对多字节字符串进行支持,只能使用unicode字符集,这导致我们无休止的转啊转啊,再然后发现添加一个补丁vc_mbcsmfc就可以使2013支持多字节了,安装之后发现哇世界终于回归和平了,补丁百度云盘下载链接地址:http://pan.baidu.com/s/1dDuB1GP, 密码:f4w9。

2. 解决出现的链接错误

  编译过程中出现一个链接错误: mfcs120d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)。产生错误的原因是工程同时使用了CRT库和MFC库,并且链接顺序不对,CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。解决办法是:选择“项目 -> 属性 -> 链接器 -> 输入”栏,在其中的“忽略特定的库”这一栏输入:MSVCRTD.lib mfcs120d.lib, 然后,在“附加库”这一栏中输入: mfcs120d.lib MSVCRTD.lib 问题即可解决。

3.解决出现的warning

  编译通过后,工程依然存在很多warning,绝大部分的warning都是:MBCS_Support_Deprecated_In_MFC:MBCS support in MFC is deprecated,出现这样的警告是因为一些历史原因,MFC同事支持Unicode和MBCS, 但Unicode日渐变得流行,而MBCS逐渐用的越来越少,所以新版本的MFC已经把MBCS作为过时的方法,所以使用新版本的Visual Studio编译MBCS程序的时候会出现很多这样的警告信息。而对于已经采用了MBCS,又不打算将其迁移至Unicode,又不想看到大量这样的警告, 则需要在preprocessor定义中增加NO_WARN_MBCS_MFC_DEPRECATION即可。

VS2008转VS2013时遇到的问题的更多相关文章

  1. 在使用Vs2013打开Vs2008的解决方案时出现了以下错误:此版本的应用程序不支持其项目类型(.csproj)

    在使用Vs2013打开Vs2008的解决方案时出现了以下错误: 无法打开 因为此版本的应用程序不支持其项目类型(.csproj). 在网络上找到解决方案: 命令行或者Vs自带的命令提示符输入:deve ...

  2. 安装VS2013时,如何避开IE10的限制

    安装VS2013时,如何避开IE10的限制 VS就会告诉我们目前环境不适合安装VS2013,必须升级IE版本到IE10. 如果不想安装IE10,有没有办法呢? 答案肯定是有的. 将下面一段文字,储存为 ...

  3. 关于VS2008和VS2013中字体的选择

    我这学期上ASP.NET的课,用C#语言,配合VS2008.自己课余在研究手机游戏的开发,用的是C++语言,配合VS2013.这两种开发环境我自己试过好多字体,后来感觉适合我自己的应该是以下这两种: ...

  4. VS2008压力测试时web测试记录器无显示

    系统:win7 浏览器:IE8 web测试记录器:Web Test Recorder   在运行vs2008Web压力测试时一直在浏览器左侧的web测试记录器无显示. 解决办法:     在IE工具栏 ...

  5. 【VS Error】VS2008在编译时出现:Error 15 Cannot register assembly

    现象: 在visual studio 2008在编译类库时提示如下错误: Error 15 Cannot register assembly "D:\01_Work\02_SVN\OCRpl ...

  6. 官方版vs2008至vs2013下载地址

    Visual Studio 2005 Professional 官方90天试用版 英文版:http://download.microsoft.com/download/e/0/4/e04de840-8 ...

  7. vs2008 发布网站时丢失文件问题

    右键指定的文件->属性, 将生成操作更改成为"内容"就可以了.

  8. VS2008与opencv结合使用的方法

    使用平台:win7(32位)系统,opencv 2.3.1,vs 2008. 目前在需要在vs上运行KCF视觉跟踪算法,其中有用到opencv的库,刚刚开始遇到的如下问题: 1. 计算机无法找到ope ...

  9. 测试环境搭建心得 vs2008+SQL2008 PHP+APACHE+mysql Team Foundation Server2013

    大四即将结束,大学的最后一个假期,找到一份实习工作,担任测试工程师.在过年前的最后一周入职,干了一周的活儿.主要工作就是搭建测试环境. VMware 主要熟悉VMware软件,装系统基本都没什么问题. ...

随机推荐

  1. MFC中Picture控件显示图像

    图片显示在picture控件中,整个软件最小化后图片消失问题. 解决方案:OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面 - CSDN博客  http:// ...

  2. Java-得到类的包

    package com.tj; public class MyClass2 { public static void main(String[] args) { Class cls = java.la ...

  3. 树状数组 gcd 查询 Different GCD Subarray Query

    Different GCD Subarray Query Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K ( ...

  4. TOJ 4701 求阴影部分面积

    4701: 求阴影部分面积  本文版权归BobHuang和博客园共有,不得转载.如想转载,请联系作者,并注明出处. Time Limit(Common/Java):1000MS/3000MS     ...

  5. 【C#】穿马甲的流程控制语句

    导读:话说当年选择.顺序.循环语句风靡整个VB,今年发现,那几个东西又换了件衣服,跑到了C#里蹦跶.开始,真被这几个穿马甲的吓了一跳,没看出来这是老伙伴.突然有一天,瞥见了脱下新衣的孩子们.哈哈哈哈. ...

  6. 九度oj 题目1337:寻找最长合法括号序列

    题目描述: 给你一个长度为N的,由’(‘和’)’组成的括号序列,你能找出这个序列中最长的合法括号子序列么?合法括号序列的含义便是,在这个序列中,所有的左括号都有唯一的右括号匹配:所有的右括号都有唯一的 ...

  7. 【bzoj4200】[Noi2015]小园丁与老司机 STL-map+dp+有上下界最小流

    题目描述 小园丁 Mr. S 负责看管一片田野,田野可以看作一个二维平面.田野上有 nn 棵许愿树,编号 1,2,3,…,n1,2,3,…,n,每棵树可以看作平面上的一个点,其中第 ii 棵树 (1≤ ...

  8. Hibernate 笔记 HQL查询 条件查询,聚集函数,子查询,导航查询

    在hibernate中进行多表查询,每个表中各取几个字段,也就是说查询出来的结果集并没有一个实体类与之对应,如何解决这个问题? 解决方案一,按照Object[]数据取出数据,然后自己组bean 解决方 ...

  9. 【2018.11.8】小迟的比赛 / Yuno like cake / 格子填数

    题目 $noip$ 欢乐赛真是欢乐,除了不欢乐的方面以外我都很欢乐. T1 鸡汤题目,故意输对后面的胜率又没有影响,为什么要故意输呢? 所以第二个决策是凑字用的,这题就是朴素递推概率,最后乘结果权值计 ...

  10. 【SPOJ1825】Free tour II (点分治,启发式)

    题意: 边权可能为负 思路: 感觉我自己写的还是太过僵硬了,可以灵活一点,比如可以多写几个不同的dfs求出不同的信息,而不是压到同一个dfs里 #include<cstdio> #incl ...