今天在编程是遇到这样一个编译错误:
“#import referenced a type from a missing type library; '__missing_type__ ' used as a placeholder ”
指向的错误行的内容是这样子的:
“ #import "..\Lib\MSOUTL.olb" rename_namespace("Outlook"), raw_interfaces_only, named_guids \
rename("CopyFile", "OlCopyFile") rename("PlaySound", "OlPlaySound")”
背景是这样,我在写一个office的插件,在2010和2007的环境上都编译通过、运行正常,但是放到2003的环境上就报了上面的错误,折腾了半天,最后找到了消除这个错误
的解决方法:我在office2003的安装目录下,找到MSOUTL.olb这个文件,然后替换我Lib文件夹中的MSOUTL.olb,重新编译,就没有错误了。
当然,这个解决方法我觉得并不正确,因为这样子一来,我想实现一套代码在三个office版本上都运行,也许后面会遇到问题,真正的原因,还在摸索中,不过总算过了当前这一关了。