error C4772: #import referenced a type from a missing type library; '__missing_type__' used as a pla


       工程中需要引用office库,由于机器上装了多个版本的office,时常会卸载、安装office。由此导致工程时而运行顺利、时而出现如标题所示的错误。

       简单地说,问题出在如下注册表项:

      HKEY_CLASSES_ROOT \ TypeLib \ {2DF8D04C-5BFA-101B-BDE5-00AA0044DE52} \ 

       在Office安装过程中,安装程序之一是在TypeLib密钥下注册了一个mso.dll版本。这个注册是允许编译器在处理msoutl.olb时找到mso.dll的副本。当这一项下出现多个版本时,问题就来了。

       我这里出现问题的原因是之前安装了office2013,后来卸载时,这个注册表项并没有删除对应项,由此导致工程中引用的库在寻找副本时,指向了这一项,从而出现这个编译错误。解决方法很简单,删除office2013在这一项下对应子项2.7,问题就解决了

你可能感兴趣的:(问题解惑)