出错总有原因 之 仅有第一次编译不成功

       新人入职,取下项目代码,打开VSTS2010, 编译整个Solution,第一次编译不成功,提示Link错误,某个Lib未找到。但这个问题在其他开发机器上并没有出现过。在第一次编译的基础上再次编译,成功了。
         检查第一次编译出错的日志,发现出错的dll依赖于提示的library,这个library是在dll之前编译的,这个顺序是没错的。但是从日志中可以看到,原来是由于并行编译引起的。根据依赖关系,被依赖的library先编译,但是由于并行编译的设置,dll也在稍后开始编译,那么如果dll的编译进程执行速度足够快,在链接之前可能对应的library还没有编译成功,这样就会出现这个问题了。
        一般而言,在开发机器上,这不能算是个问题,因为第二次编译过程中仍然会成功的。
       如果是专门做安装包的机器,还是有必要设置一下的。就在菜单Tools-->Options-->Projects and Solutions-->Build and Run下面,可以指定“maximum number of parallel project builds”,如果指定为1,那么就不会有并行编译了。
        当然,如果一直只有一个编译过程进行仍然出现类似的链接错误的话,就要仔细检查依赖关系是否正确啦!

你可能感兴趣的:(出错总有原因 之 仅有第一次编译不成功)