VS2008转VS2013时遇到的问题
最近我们要把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时遇到的问题的更多相关文章
- 在使用Vs2013打开Vs2008的解决方案时出现了以下错误:此版本的应用程序不支持其项目类型(.csproj)
在使用Vs2013打开Vs2008的解决方案时出现了以下错误: 无法打开 因为此版本的应用程序不支持其项目类型(.csproj). 在网络上找到解决方案: 命令行或者Vs自带的命令提示符输入:deve ...
- 安装VS2013时,如何避开IE10的限制
安装VS2013时,如何避开IE10的限制 VS就会告诉我们目前环境不适合安装VS2013,必须升级IE版本到IE10. 如果不想安装IE10,有没有办法呢? 答案肯定是有的. 将下面一段文字,储存为 ...
- 关于VS2008和VS2013中字体的选择
我这学期上ASP.NET的课,用C#语言,配合VS2008.自己课余在研究手机游戏的开发,用的是C++语言,配合VS2013.这两种开发环境我自己试过好多字体,后来感觉适合我自己的应该是以下这两种: ...
- VS2008压力测试时web测试记录器无显示
系统:win7 浏览器:IE8 web测试记录器:Web Test Recorder 在运行vs2008Web压力测试时一直在浏览器左侧的web测试记录器无显示. 解决办法: 在IE工具栏 ...
- 【VS Error】VS2008在编译时出现:Error 15 Cannot register assembly
现象: 在visual studio 2008在编译类库时提示如下错误: Error 15 Cannot register assembly "D:\01_Work\02_SVN\OCRpl ...
- 官方版vs2008至vs2013下载地址
Visual Studio 2005 Professional 官方90天试用版 英文版:http://download.microsoft.com/download/e/0/4/e04de840-8 ...
- vs2008 发布网站时丢失文件问题
右键指定的文件->属性, 将生成操作更改成为"内容"就可以了.
- VS2008与opencv结合使用的方法
使用平台:win7(32位)系统,opencv 2.3.1,vs 2008. 目前在需要在vs上运行KCF视觉跟踪算法,其中有用到opencv的库,刚刚开始遇到的如下问题: 1. 计算机无法找到ope ...
- 测试环境搭建心得 vs2008+SQL2008 PHP+APACHE+mysql Team Foundation Server2013
大四即将结束,大学的最后一个假期,找到一份实习工作,担任测试工程师.在过年前的最后一周入职,干了一周的活儿.主要工作就是搭建测试环境. VMware 主要熟悉VMware软件,装系统基本都没什么问题. ...
随机推荐
- adb 命令大全
传送门 --> https://github.com/mzlogin/awesome-adb ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的 ...
- x86 保护方式 简介 一
80386 三种工作方式 实模式 保护模式和虚拟86模式 只有在保护方式下 全部32条地址线才有效 可以寻址高达4g字节的物理地址空间 超过1m的内存空间 被成为扩展的内存空 ...
- Codeforces Round #305 (Div. 2) D. Mike and Feet
D. Mike and Feet time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- spring实战 — spring数据库事务
欢迎加入程序员的世界,添物科技为您服务. 欢迎关注添物网的微信(微信号:tianwukeji),微博(weibo.com/91tianwu/),或下载添物APP,及时获取最新信息. 免费加入QQ群:5 ...
- [BZOJ1663] [Usaco2006 Open]赶集(spfa最长路)
传送门 按照时间t排序 如果 t[i] + map[i][j] <= t[j],就在i和j之间连一条边 然后spfa找最长路 #include <queue> #include &l ...
- Spring Boot SpringSecurity5 身份验证
对于没有访问权限的用户需要转到登录表单页面.要实现访问控制的方法多种多样,可以通过Aop.拦截器实现,也可以通过框架实现(如:Apache Shiro.Spring Security). pom.xm ...
- 小程序-列表块/类式ul-li格式(1)
摘要 目前列表能布局出来,但是目前我个人还没解决的问题是:如果每个列表块都有详情页怎么解决呢? 1:我的效果图 2.正常的每个都能点击的html 注:上面的代码确实能够实现我的每个[menu2_vie ...
- 一起来学Spring Cloud | 第五章:熔断器 ( Hystrix)
在微服务项目中,一个系统可以分割成很多个不同的服务模块,不同模块之间我们通常需要进行相互调用.springcloud中可以使用RestTemplate+Ribbon和Feign来调用(工作中基本都是使 ...
- git(一):了解、学习、安装git
自述 一直到今天才真正的去了解学习使用git,看<git权威指南>这本书的第一篇,忽然有很多共鸣,比如在大学开始编程的时候,总是把写的所有demo和项目保存在U盘里,内存不够用就改为移动硬 ...
- [BOI2007] Mokia
题目描述 摩尔瓦多的移动电话公司摩基亚(Mokia)设计出了一种新的用户定位系统.和其他的定位系统一样,它能够迅速回答任何形如“用户C的位置在哪?”的问题,精确到毫米.但其真正高科技之处在于,它能够回 ...