一个大型项目,新建的分支在别人的电脑上已经编译通过,在本机映射后编译总是不通过。
>>===当时具体操作如下===<<
1. 打开解决方案会提示:“解决方案有关某些项目的源代码管理信息与项目文件中的信息似乎有差异。要解决此差异,需要签出项目文件并更新他们。。。”(如下图)。点击“确定”后,提示签出一个xx.vcxproj文件。这个文件不是我写的,点了“取消”。
2. 打开解决方案后,又提示签出xxx.sln文件,点了“取消”。
3. 编译过程中,开始出现“error MSB3073...debug\:VCEnd已退出,代码为4”以及多个“LINK1104:无法打开文件:xxx.lib”的编译错误,无法编译通过。
>>===解决办法===<<
1. 右键解决方案,点“清理解决方案”。
2. 重新打开解决方案,在提示差异后,签出xx.vcxproj文件,同时签出yyy.sln和yyy.vssscc文件。
3. 重新生成解决方案,第一次还是会有“error MSB3073...debug\:VCEnd已退出,代码为4”,但LINK1104的问题没有出现。
4. 再生成一次解决方案,就全部编译通过了。
===后记===
1. 编译完成后,对比了一下签出的几个文件,发现编译后,xxx.vcxproj文件中,有一行关于解决方案的名称,服务器上文件中还是之前版本的名称,可能是这里与当前版本的名称不一致,导致了后来的编译错误。但由于这部分不是我写的,编译通过后,撤销了修改,但这样下一次编译应该还是有问题。
2. 由于这个文件不在我的项目中,所以单独编译我的项目没有问题,但也会提示签出yyy.sln和yyy.vssscc文件。暂时先签出,编译通过了我的项目后,再撤销,也还可行。