在VS2010 VC++ 项目添加引用时,有时会出现Internal CPS Error错误,提示信息:
'Internal CPS Error: We couldn't find the existing shim object, but there was an existing project reference!'.
分析原因:
有些VC++ 项目会引用其他的项目,这里说的引用不是外部引用,而是在同一个Solution中,添加项目引用。
如果新建Solution后,添加项目顺序不是按照引用关系添加的话,会导致项目引用找不到的情况,而VS2010 也不会给出提示,按照引用的项目不存在处理,但引用的项目链接还在,不会删除,编译时提示无法找到对应Lib。在项目属性的引用页也不显示出引用的项目名字。
此时,再次添加对原有引用项目的引用就会出现Internal CPS Error,原因是引用的项目链接还在。
解决方法:
确认引用的项目已添加至Solution后,保存Solution,关闭Solution,重新打开Solution,编译OK。