把项目从VS2005升级到VS2013

把项目从VS2005升级到VS2013

女学生花了分别的星期。,终把朕的服务器和客户端从vs2005晋级到vs2013了。我真的要称赞。。

晋级处置中涌现了杂多的成绩。,Xiao Si的同窗们踏过美化。、攀登艰难险阻终成让朕生产了大的上的宇宙高音部IDE——vs2013。因而在这里我将记载他晋级处置中遭遇的成绩。,或许这是十分情人的翻阅。。

率先,必要解说。,我参观某人问CSDN成绩。:为什么很多游玩都是用VS2005功绩的?原始的的帖子在在这里。:

下面的答复亦偏离的。。作为达到者,让我谈谈感觉。,率先用vs2005左右用vs2012甚至vs2013不过人家选择成绩,执意说,供给你比方,不要紧朕能用什么的杂乱来开展。。

让朕谈谈竟的。,为什么聚集游玩公司都用vs2005功绩呢?我实则不知情哪个楼主说魔兽世界和愤恨的公驴是用vs2005功绩的,但朕的游玩的确是拿vs2005功绩的,同时我知情的十分游玩公司也的确拿vs2005功绩,为什么呢?因这样一则是在哪个时辰创立的。,而哪个时辰平地手头上熟习的功绩器执意vs2005,愤恨的公驴在2009声称了高音部个版本,其研究与开发公司Rovio言之有理于2003。,他们公司预先阻止心净不克不及胜任的打酱油了,因而精读预先阻止朕用的过失vs2005,因哪个时辰还不理睬vs2005呢,作出评估受胎vs2005以后的,他们公司晋级到vs2005作为功绩器了,而VS2008霉臭既然07残冬腊月。,结果他们的顺序不愿晋级,心净没某人会向上的。,朕都知情魔兽世界曾经04年了。,因而哪个时辰你总不克不及说他们的功绩器是vs2005吧。因而魔兽结端的的在用vs2005,那亦以后的晋级到vs2005的。关于为什么不持续晋级到VS2008或VS2010、12、13等,我的风景是,不理睬资格。公司的主旨是盈利。,而结果从vs2005晋级到vs2013无法养育进项,这样为什么要晋级呢?,因公司不克不及胜任的给你额外津贴或作来破格提升。,心净没某人的弃置不顾鸡蛋损害晋级。,晋级后,朕霉臭处置一系列成绩。。

还要撇开人家造成。,因用户参观的顺序过失由顺序员把持的。,心净,在这里的把持是单引号。,听我渐渐解说。,在公司晋级器并相异的玩自行同样地复杂。,率先,行情公司波湾阴谋码,配有编辑者。,执意说顺序员在自行本国的用功绩器来汇编调试法典以后的传球杂多的版本把持器,比方,Svn或Git被送交到法典库。,此后波湾阴谋机具波湾阴谋现实版本供应用。,因而,结果要晋级功绩器,霉臭晋级自行的DEVE。,总而言之,该公司的编辑者有特别的人来经营。,这是划拨的款项经营员等的任务。,它们担任经营编辑者。,顺序员心净可以在本国的应用杂多的功绩器举行功绩。,供给你能确保法典波湾阴谋不理睬成绩。,谁管你是用vs2013功绩左右用使人高兴的人在写法典?只是顺序员结果希望把持输入到外网的版本是用什么编辑者来波湾阴谋的话,朕必要辩论经营员晋级CO上的划拨的款项。,普通公司,这是做不到的的。,因顺序员不理睬划拨的款项经营器。,结果不理睬,一则经理颔首表现商定。,为什么经营员要听你的顺序员?,顺序员一定辩论一则经理。,朕霉臭出现杂多的冷静的的相干。,比方,VS2013到何种地步适宜壁垒?、到何种地步养育功绩效力(Nima过失晋级?、VS2013可以给用户一种飞行术体会(设想你各抒己见),一则经理能不置信。。设想你的雄辩辩论了一则经理,他商定让公司花一笔钱买新的IDE。,你还必要辩论以此类推顺序员。,因一旦修正了一则的编辑者,它霉臭假装以此类推顺序员的开展。,心净,朕霉臭能辩论以此类推顺序员。,让他们制作他们的开展实习。。总结一下:

1、你必要辩论一则经理。,让他敷一笔钱买新的VS。
2、您霉臭辩论划拨的款项经营员。,让他制作编辑者的划拨的款项。,你很能必要扶助他处理新成绩。,或许你不精通。
3、你必要辩论以此类推顺序员。,让他们制作他们的开展实习。,合适的新的功绩器
4、最近的你必要处理你们一则工程由vs2005晋级到vs2013的杂多的奇怪地bug,晋级后,您的用户将不克不及胜任的应用它们的成绩。。

心净,这是由顺序员原动力的晋级功绩器。,一则经理鞭策,这要轻易得多。,总的来说,你们都用VS2013来功绩。,以此类推事实都是心净完毕的。,顺序员必要做的执意应急措施VS2013。。只是有很一则经理真正关怀一则的开展呢?,或许顺序最近的波湾阴谋什么?!竟,可是顺序员关怀他们。。我置信有像我同样的顺序员都赞美尝试改革。,因而在很多境况下,你纵然参观的顺序是用vs2005波湾阴谋的,竟,我能应用VS2013举行功绩。,只不过波湾阴谋给你的是vs2005波湾阴谋的罢了:)

回到乐旨,朕在一则晋级处置中遭遇了什么成绩?H:

工程自动地替换
率先vs2013对vs2005的工程是兼容的的,也执意说你可以指示方向用vs2013翻开vs2005的工程,心净,vs2013会对vs2005的工程公文做一番替换。找到vs2005的sln公文,在替换后翻开VS2013和日记交谈。,普通来说,不克不及胜任的有成绩。,结果你想仔细的看,你可以做到。,上看一眼吧。:

朕一定理睬这点。,SLN替换时,朕的VS2013曾经挂断了。,最近的,朕见时这样一则的VCPRJ公文中有人家HTML法典。,这样在vs2005下是可以认可的,但当VS2013被用来改革它时,它就诛戮了VS2013。,把它扔掉吧。

工程设置的多样性
还要稍许的执意在vs2005和vs2013工程划拨的款项里有好多默许设置竟然是有分别的的,比方,输入容量,VS2013最希望添加同上渠道。 ‘\’,而vs2005下却不理睬。开头,它如同不理睬什么都可以影响。,只是,当朕使明确渠道宏时,朕的一则使明确了完毕评分。,在VS2013下产生了超过同上渠道。。

普通说来,每个一则的规划体系都不克不及胜任的制作。,不要害怕在这样时辰波湾阴谋囫囵处理方案。,提议编制人家一则或人家一则。,成绩更明白的了。。

vs2013和vs2005另人家喻为大的偏离执意VC++的容量设置,在vs2005外面这样容量设置是对准有工程的总设置,在Tools->Options->Projects and Solutions->VC++ Directories下,在VS2013,此设置世俗的在每个工程设置下。,在Project->Properties->VC++ Directories下,地方的制作是主要的。,成绩是VS2013将好多头公文放在零碎的容量中。,文档的满足的产生了偏离。。

零碎宏传球的分别
比方,朕应用了人家零碎宏。:OutputDebugStr,它在vs2005的头公文里使明确在vs应急措施容量下的平台sdk容量下的,而到vs2013下这样公文被放到了零碎容量的sdk下,宏的使明确曾经突然不见。。

处理方案绝对复杂。,在工程的预波湾阴谋公文里添加一下这样宏的使明确,理睬兼容的vs2005和vs2013版本就行:

1

2

3

#ifndef
OutputDebugStr

#define
OutputDebugStr OutputDebugString

#endif

未使明确宏的以此类推处理方案也相像的人。。可是一种宏属于使明确自行。,比方,朕有同样的成绩。:

该变量在公文中使明确。,只是在vs2013新的sdk下和vs2005的windows的sdk下这两个使明确是相异的,vs2005下是这样使明确的:

这执意VS2013使明确的。:

眼前,朕的处理方案是重行使明确这样宏。:

1

2

3

#if
(_WIN32_WINNT >= _WIN32_WINNT_WINXP)

#define
CLEARTYPE_QUALITY 5

#endif

竟,vs2013下windows的SDK版本和vs2005自带的SDK版本是有分别的,SDK版本的VS2013是0x0603。,而vs2005的版本是0x0500。因而会有很多同样的成绩。,竟,您可以指示方向修正版本号。,同样就可以应用vs2005下的版本满足的了。纵然我不知情SDK倘若是返回的兼容的的。,但它一定是兼容的的。,可以尝试。

命名房间里所有的人反省更严格的。
朕的指令表援用了人家用C言语汇编的体育馆。,它应用名为清晰度的体系。:is_base_of,原始的在VS2013应用的STD命名房间里所有的人中有人家同族关系的清晰度,像这样,朕的处理方案是向朕自行的体系添加命名房间里所有的人。。

1

2

3

4

5

namespace test
{

    struct is_base_of
{

        ...

    };

};

DX头公文的多样性
朕都知情,VS2013曾经集成了DX的SDK。,而过失独自声称DX的SDK。,同时,VS2013将DX的头公文放在零碎的SDK容量中。。在下面朕提到过vs2013和vs2005的VC++容量设置有分别的,VS2013使具体化零碎的SDK容量。,这造成了人家成绩。。比方,我默许。,因朕的客户端顺序应用DX9。,为了誓言版本的均匀性,朕把DX9的头公文放在一则容量中。,在vs2005下,朕不必要明确提出DX的头公文容量。,因在零碎的默许容量中,DX中不理睬头公文,不顾朕是用<>左右””的方法来先查找零碎容量左右先查找工程容量最近的都不得不找到朕工程的dx头公文,只是在vs2013下朕霉臭要把朕自行的dx容量放进工程的VC++容量里,可是同样,才干确保朕援用自行的头公文来替代。。让我来谈谈。,VC 容量与附加支配传球的分别是什么?:

在VC 容量中划拨的款项渠道,在用 <> 最早思索时将包孕在内。,在C/C中划拨的款项 称标记下附加的使具体化容量在应用中。 “” 最早思索时将包孕在内。。

VS自行的库的完成是有分别的的。
这更陷入了。,因VS的两个版本传球在多样性。,总会发生的地,将有有分别的的库完成。,比方,朕遭遇了人家成绩。:

朕翻开两个VS应急措施容量。 VC\include   queue公文,传球喻为见,这两个队列的完成十分有分别的。,朕的成绩是它原始的是人家大众的会员变量。,现时它被支持了。:

但侥幸的是被支持后,它开价了人家会员功能来获取它。,不理睬出路了。,朕不得不修正朕自行的法典。,将原始指示方向拜访更顶替会员功能。。

定冠词出生于 水上新队员 视频博客,请保存这样努力挖掘。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Message *
Name*
Email *