最近我们要把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即可。

最新文章

  1. Hadoop家族的各个成员
  2. 在 ASP.NET 中创建数据访问和业务逻辑层(转)
  3. 修复一个吉日嘎拉MSSQL数据库版中的分页存储过程bug
  4. GJM : Unity3D - UI - UI边缘流光特效小技巧 [转载]
  5. Android 手机卫士--选中SettingItemView条目状态切换
  6. CSS Sprite雪碧图应用
  7. Android编译报Errors running builder 'Android Pre Compiler' on project 'XXX' java.lang.NullPointerException
  8. jQuery获取Ajax函数的返回值
  9. 苹果5S指纹扫描识别传感器Touch ID有利于iPhone的安全性
  10. 微信消息回复C#
  11. Android——requestWindowFeature
  12. Spring AOP + AspectJ annotation example
  13. python+appium使用记录
  14. 野村证券伦敦分部面试 - Java岗位
  15. 使用Xshell5连接虚拟机VMware中安装的CentOS7系统
  16. 更新Cocos2D支持Xcode 7
  17. Linux Ubuntu下用Android NDK 生成独立交叉编译链
  18. JQury基础(一)样式篇
  19. iOSUITableView头部带有图片并且下拉图片放大效果
  20. Redis报(error) NOAUTH Authentication required.问题解决

热门文章

  1. 【08】css sprite是什么,有什么优缺点
  2. NYOJ 995 硬币找零
  3. BZOJ 3110 [Zjoi2013]K大数查询 ——树套树
  4. 【2018.10.20】noip模拟赛Day3 飞行时间
  5. 【Codevs1227】方格取数2(费用流)
  6. 安卓解析JSON文件
  7. Laravel 控制器的response
  8. Spring 定时器 定时访问数据库并发送邮件
  9. Linux 的信号和线程
  10. Codeforces 849B Tell Your World (计算几何)