2011212 周六

    技术2025-06-09  29

    2011/2/12 周六*********************************************

     

    今天发现build SMEX solution需要花太久。Simon建议用IncredBuild。很好的一个工具,可以显著提升build速度。因为它利用了多台机器的CPU来build。看着7个CPU同时build,感觉很爽! IncredBuild可以显著提高build solution的速度。 原理如下:找一台机器作为mediator,每个client机器安装IncredBuild Agent,注册到mediator,然后就可以利用所有注册到mediator的机器来同时编译。 要求:所有机器的编译器配置一样,比如说补丁、版本都要求一样。 性能改进:现在build一次的时间从1小时缩短到10分钟左右。 今天要在sln中添加一个project,Simon建议,需要先在P4上checkout出sln文件,然后自己添加完project后,配置,build成功,然后立即checkin,这个project可以是空的,code以后再加。 这是因为如果有两个人都在修改sln,那么会冲突,因为sln不可读,不能merge。所以就会有一个人需要重做一次他的修改,噩梦。 另外,对新建project的配置,需要保证All Configuration,All Platform都配置上,然后build通过,就可以checkin这个sln。 今天花了大约5个小时,来往sln中添加2个project。主要时间花在和P4一致性的维护,因为之前code fraze的时候往sln中加的project,现在要重新做一次。这真是一件很麻烦的事。另外,一大部分的时间花在了build出错处理上,后来证实,这个错是因为那个project在x64上是不需要的,但是还是build了。在本地的话,build失败就会被skip掉,但在IncredBuild上build失败就会使整个sln的build stop。既然这个project是x64不需要的,那应该不加到build list中才对。而且,autobuild如果采用IncredBuild那岂不是也要fail掉?**看下在哪里把这个project去掉才行** 。另外的时间花在project属性的配置上,build的post-event问了simon才知道需要设置。哎。用post-event的方式拷贝dll到output下会消耗太多时间,如果一个一个工程改output属性又很烦。**看下能不能在sln中统一设置output路径**

     

    今天快下班的时候,出了link错,找半天找不到原因,最后发现还是project dependency有个没加,花了蛮多时间。总之,VS2005的属性配置很麻烦很麻烦。

    最新回复(0)