使用C++test工具静态分析扫描Tornado项目时弹出“没有找到cygwin1.dll ”错误。
这个问题一般是因为启动C++test时没有按照脚本方式启动,或者更准确说是没有在合适的环境变量设置下启动C++test。
在Tornado的编译器bin目录下,是存在一个cygwin1.dll文件的,当利用C++test去进行扫描时,通常我们会用到Tornado的编译器,当然也会涉及到一些必要的库文件,比如这个cygwin1.dll文件。如果该bin目录不在系统环境下预先配置好,那么C++test就可能会报告这个错误。
解决方式:
只需要将该bin目录添加到path中即可。或者利用脚本方式启动C++test,脚本内容参考如下(也可参考帮助手册):
rem Command line build environments
set WIND_HOST_TYPE=x86-win32
set WIND_BASE=F:Tornado2.2
set PATH=%WIND_BASE%host\%WIND_HOST_TYPE%in;%PATH%
rem Diab Toolchain additions
set DIABLIB=%WIND_BASE%hostdiab
set DIAB_HOST_TYPE=WIN32
set PATH=%DIABLIB%WIN32in;%PATH%
set PATH=%path%;C:Program FilesParasoftC++test9.6
cpptest
pause
上面的脚本内容中所涉及到的相关路径需要针对性修改(其实可以参照Tornado安装目录下的toVars.bat脚本)。