Polyspace代码验证不能够找到窗户。h头文件。编译错误,因为windows依赖性。

17日视图(30天)
我用polyspace代码验证做静态分析,我的源代码包含的窗口。h ' # include <等头文件窗口。h >,但Polyspace工具不能发现我提到的文件和编译器选项Visual15的工具。x和i386 trarget处理器。请提供解决方案。

接受的答案

Anirban
Anirban 2020年2月20日
编辑:Anirban 2020年2月20日
嗨Venkata,
指定编译器名称是不够的Polyspace定位包括文件夹。文件夹路径不同的安装和操作系统,因此需要用户指定它们。有一个更好的替代方法运行Polyspace从Visual Studio解决方案分析。看到这个回复的底部。
首先,手工方式。你必须特别指出Visual Studio包括文件夹使用的选项 -我 在命令行(或包括文件夹添加到项目Polyspace用户界面)。
你必须定位在Visual Studio中包含文件夹安装。典型的路径是:
  • C:\Program Files (x86)\Microsoft Visual Studio 14.0 \ VC \ \
  • C:\Program Files (x86)\Microsoft Visual Studio 14.0 \ VC \ atlmfc \ \
windows.h 不是坐落在这里。在类似:
C:\Program Files (x86)\Windows包\ 8.1 \ \嗯
避免的问题不得不手动定位,然后指定文件夹,包括Polyspace支持一种不同的方法来创建一个Polyspace项目从Visual Studio项目。万博1manbetx你可以跟踪命令运行Visual Studio和创建适当的向右is包括文件夹。看到 使用Visual Studio创建项目信息
5个评论
Anirban
Anirban 2020年7月28日
编辑:Anirban 2020年7月28日
嗨Venkata,
创建一个Polyspace项目背后的想法使用Visual Studio项目是Polyspace项目代表忠实你做什么在Visual Studio。如果您正在构建一个64位的目标在Visual Studio,然后Polyspace项目从Visual Studio构建中提取正确的设置。设置可能不完全对应 x86_64 大小,但你在Visual Studio中使用。也许你可以使用Visual Studio文档以确保您正在构建一个64位的目标?见,例如, Visual Studio文档主题
(注意,尽管似乎是集i386的目标,给出了实际使用的目标 高级设置 节点使用的选项 -custom-target 。这是一个用户界面的怪癖。事实上,如果你正在建设一个64位的目标在Visual Studio和i386的唯一原因是你认为Visual Studio环境不习惯,那么你可以放心。的 -custom-target 值反映了实际大小使用。)
在您的工作流,当你改变了目标 x86_64 发生如下(我也做了一些编辑以前的答案更准确地说):当你创建了一个使用Visual Studio Polyspace项目信息, polyspace-configure 命令跑下提取以下信息:
  • 大小的数据类型(Polyspace项目中使用-custom-target)
  • 使用宏定义(Polyspace中设置项目- d)。一些宏定义也与Visual Studio中使用的目标。
现在,当你改变了目标 x86_64 上面的第一件事是,你改变了但不是第二。导致冲突等不相容的声明(最有可能的,因为大小相对应 x86_64 不完全对应大小从Visual Studio构建)。
添加高级配置选项 都是polyspace-configure命令需要的高级选项。看到 完整的选项列表 。通常,您不需要这些选项。你只要指定构建命令(或在这种情况下,视觉IDE可执行文件)和使用默认选项工作正常运行。这就是为什么他们不通过漂亮的GUI字段暴露在用户界面上。

登录置评。

答案(1)

马丁道伊
马丁道伊 2021年3月31日
在使用的安装头,例如VS2019,让你快速回答,它通常不会给你好的答案,Polyspace将使用它的“坏”的假设。你会发现它更有助于创建你自己的可重用的存根可以提供更准确的知识的行为函数头文件中声明关于输入输出参数或函数返回值。这并承担前期费用产生,但你只需要包括你用什么,和未来的项目可以重用你开始的,并添加任何额外的需要。