C++test在VS2008下静态分析问题解决方法
本文原载于测试人软件测试专业博客,任何转载请保留原址:http://www.mytestlife.com/post/C++test_VS2008.html
C++test问题诊断系列 之 C++test 针对VC环境
今天在VS2008上执行静态分析,出现一个找不到*.tli文件问题,报错类似如下:
“
../msdos15.tlh
line 5545,找不到:E:/myproject/include/msdos15.tli文件。
”
网上查找了下有关*.tlh和*.tli的说明:
“
tlb文件:com类型库文件。在需要使用对应com类的模块里,“#import ...*.tlb”使用之。
tlh、tli文件:他们是vc++编译器解析tlb文件生成的标准c++文件。因为odl和tlb并不是C++标准的东东,有必要把它们翻译成标准的C++类型,使得C++开发者可以使用。相信vb和j++也会把tlb翻译成自己语言兼容的类型描述信息。tlh相当于类型申明(头文件),tli相当于定义实现(CPP文件)。可以用写字板打开查看其内容。
在VC下#import "A.tlb" no_namespace named_guids;编译后产生A.tlh和A.tli两个文件
”
这两个文件是VS2008下自动临时产生的文件,找到这里,推测可能是临时产生的文件没有更新,也即是之前在tlh文件中包含的文件路径“E:/myproject/include/msdos15.tli”,在新环境中已经变更,所以解决方法很简单,直接删除.tlh和.tli文件,重新编译,并使用C++test做静态规则检测即可。
原文链接:http://www.mytestlife.com/post/C++test_VS2008.html