手动创建项目始终是一个可用选项。它更耗时,但它使您可以更好地控制项目的内容和设置。您对项目内部结构的了解允许您调整自动创建项目的设置,并在出现任何问题时修复/重新配置它们

创建项目

正如在使用 Wind River Tornado 创建和配置项目开始时提到的,每个 C++test 项目都是一个 CDT 项目;C++test 只是将它自己的扩展/设置添加到每个 C/C++ 项目中。要启动手动 C/C++ 项目向导,请使用 从图形用户界面创建项目中描述的方法之一创建项目。

配置项目

接下来,您需要配置适当的构建设置。此配置在设置项目和文件选项中详细描述。我们将重点介绍配置基于 Tornado 的项目所必需的那些属性。

要复审和修改设置:

  1. 右键单击要查看和修改其设置的项目的项目树节点,然后从快捷菜单中选择 属性 。将打开【属性】对话框。
  2. 在左窗格中选择 Parasoft> C++test> 构建设置
  3. 查看以下设置并根据需要进行修改。设置描述如下。

第一个关注的设置是选项源设置。您可以选择 使用 Wind River Tornado 项目中的选项使用构建系统中的选项。 可用的附加选项因所选选项源而异。


“使用构建系统的选项”的设置

首次创建项目时, 使用构建系统的选项 默认设置为其选项源。以下选项用于指定项目设置:

  • 构建命令行: 输入将启动构建系统的命令行;这个系统可以是抽象的,但默认情况下,假设该系统是基于 make 的,并预设了适当的命令。此命令在项目的 Makefile 上执行您的 make,以扫描项目的编译和链接选项。  因此,一个特殊的扫描器(隐藏在 ${CPPTEST_SCAN} 宏后面)代替了 C/C++ 编译器和链接器; -i 和 -B make 选项 非常有用(有关详细信息,请参阅 Make 种类计算 ); 您还必须选择要作为 make 目标启动的 Tornado 项目规则 之一(请参阅 使用 Tornado 项目规则)。
  • 构建工作目录:  指定从中启动构建命令的目录。
  • 依赖文件:指定每次执行测试/构建操作时应检查是否有更改的所有文件。如果发现这些文件之一被修改,将重新执行构建命令。您应该输入作为项目选项来源的所有文件(或影响它们)。通常,这只是您的生成文件。

“使用来自 Wind River Tornado 项目的选项”的设置

如果您希望直接从 Tornado 项目文件中提取选项,请将选项源设置为使用来自 Wind River Tornado 项目的选项。以下选项用于指定项目设置:

  • 项目文件 (.wpj): 指定 Tornado 项目文件的路径。
  • 构建配置: 从在项目文件中读取的可用构建配置中进行选择。要重新扫描配置,请单击 刷新。

两种选项源类型的设置

其余的构建设置对于两种类型的选项源都是通用的。

重置缓存 按钮可让您清除所有扫描的选项并在下一个测试操作时强制重新扫描(有关异常情况,请参阅 Make 种类计算 )。



编译器设置 区域允许您指定用于编译项目源和构建测试可执行文件(在 Tornado/VxWorks 的情况下,我们称之为测试可重定位)的编译器集/工具。设置包括:

  • 系列: 从所有当前注册的编译器系列中选择适当的系列。
    • 为 Tornado 设计的系列在 支持的 Tornado 版本和编译器中列出
    • 您可以使用自定义编译器向导复制/导入编译器系列,在 添加自定义编译器定义中进行了描述。
    • 单击 自动检测 按钮,让 C++test 根据编译器可执行文件集和编译器配置目录中存储的编译器版本正则表达式自动检测编译器系列(由于与嵌入式解决方案一起使用的编译器种类繁多,此操作可能并不总是产生预期的结果)。
  • C 编译器: 指定 C 编译器可执行文件。
  • C++ 编译器: 指定 C++ 编译器可执行文件。
  • 连接器:指定链接器可执行文件。



选项 区域允许你指定额外的编译和链接选项;这些很少用于常规的基于主机的测试,但对嵌入式测试很有帮助。设置包括:

  • 编译器选项: 默认值为 ${cpptest:original_options} - DPARASOFT_CPPTEST。您需要为它附加必要的平台相关选项(请参阅 设置目标/平台依赖选项)以执行测试。
  • 链接器选项:默认值为 ${cpptest:original_options}。如果您要执行单元测试,则需要将其附加到 C++test 运行时库的路径(请参阅 了解和构建运行时库以了解如何构建运行时库)。
  • 运行时库源:默认值为 "${cpptest:engine_loc}/runtime.这可以进行调整以提供备用运行时库源(如理解和构建运行时库中所述)。

Make 种类计算

每个 make 工具都旨在解释和执行 Makefile,但不同 make 版本的功能、选项和行为可能会因供应商、构建甚至工具的直接应用而异。当您使用 make 时,重要的是要了解它的功能和缺点以避免意外。通常,通过监视 make 的输出来诊断问题是很困难的—尤其是当您知道它适用于另一个版本时。

以下两个 make 选项在 C++test 中广泛使用,但在特定版本的 make 中可能不可用:

  • -i - 尽管 Makefile 命令返回了任何错误,但仍指示 make 继续。
  • -B - 命令 make 无条件地调用目标—解决依赖关系,但忽略时间戳差异。

如果您的 make 不支持 -i 选项,那么您必须确保您的构建命令将正确地执行。否则,您将无法扫描所有项目文件的选项。

如果 make 不支持 -B 选项,则当依赖项文件之一发生更改或单击 重置缓存时,C++test 将不会重新扫描先前构建的项目,除非您轻按相应的源(或所有源),或清理项目。make 已运行,但它报告最新类型的消息并且不执行任何操作。在这种情况下,编写特殊的 make 目标可能会很有用,以便在扫描过程中即时点击/清理物体。

需要注意的是 Tornado 的 GNU make-3.74 不支持 -B 选项!

使用 Tornado 项目的规则

为了构建项目,Tornado 执行其中指定的特殊默认规则或用户定义规则。

默认规则无法修改。它们的名称和编号取决于 Tornado 项目类型。对于可下载的应用模块(推荐使用 C++test 进行测试),默认有3条规则:

  • <project_name>.out: 构建测试可执行文件(可重定位)。
  • 对象:仅执行编译。
  • 归档:执行编译并归档生成的对象。

与默认规则不同,可以添加、编辑或删除用户定义的规则。

规则独立于构建配置而存在。每个构建配置都有一个选择执行的规则。这些规则在 Tornado 生成的 Makefile 中表示。
您可以通过在项目目录中执行 "make <target>" 从命令行构建项目,目标可能来自默认或用户定义的规则。(请记住,当 Tornado 环境执行构建命令时会重新生成项目 Makefile,因此与项目“.wpj”文件相比,它们可能已经过时)。这同样适用于 C++test 项目构建命令。在大多数情况下,您只需要附加 "<project_name>.out"

  • No labels