支持通用IDE
Qt Creator
在源代码根目录下创建一个名为squishcoco.cmake的文件,如前所述。
要将它包含到项目中,在项目视图中选择CMake部分和初始配置选项卡。在附加CMake选项字段中,添加命令行选项"-C<path>/squishcoco.cmake
"来读取文件squishcoco.cmake
。到squishcoco.cmake
的路径必须是绝对路径。
Microsoft Visual Studio
Coco为位于%SQUISHCOCO%\visualstudio
目录上的link.exe
和cl.exe
提供了封装器。它们的行为与对应的Microsoft®编译器和链接器完全相同,只是在命令参数中包含--cs-on
选项时,代码覆盖率分析将被激活。封装器会调用Microsoft工具进行编译和链接。
注意:有关C#仪器化的信息,请参阅此处
Microsoft Visual Studio .NET C和C++编译器
有两个方法可以激活Visual Studio C/C++项目的仪器化。它可以自动执行,使用Visual Studio Coco向导。或者可以手动执行,如本节其余部分所述。
要使用Coco与Visual Studio .NET一起使用
- 将
CoverageScanner
封装器的位置添加到VC++ Directories
的第一个位置。- 对于Visual Studio 2005或2008
- 启动Visual Studio 2005或2008。
- 选择工具 > 首选项。
- 选择项目 > VC++ Directories。
- 将条目
$(SQUISHCOCO)\visualstudio
添加到目录列表的第一个位置。
- 对于Visual Studio 2010
- 启动Visual Studio 2010。
- 打开一个C++项目。
- 使用加载项目的上下文菜单打开项目属性。
- 选择配置属性 > VC++ 目录。
- 将条目
$(SQUISHCOCO)\visualstudio
添加到可执行目录列表中的第一项
- 对于Visual Studio 2005或2008
- 要激活代码覆盖率分析
库设置
库 | 库文件 | 命令行选项 |
---|---|---|
单线程 | LIBC.LIB | --cs-libgen=/ML |
静态多线程 | LIBCMT.LIB | --cs-libgen=/MT |
动态链接(DLL) | LIBCRT.LIB | --cs-libgen=/MD |
调试单线程 | LIBCD.LIB | --cs-libgen=/MLd |
调试静态多线程 | LIBCMTD.LIB | --cs-libgen=/MTd |
调试动态链接(DLL) | LIBCRTD.LIB | --cs-libgen=/MDd |
架构
目标架构 | 命令行选项 |
---|---|
ARM 微处理器 | --cs-architecture=ARM |
ARM 微处理器(Thumb 代码) | --cs-architecture=THUMB |
x86 微处理器 | --cs-architecture=IX86 |
MIPS16 微处理器 | --cs-architecture=MIPS16 |
MIPS 微处理器 | --cs-architecture=MIPS |
MIPS 微处理器带 FPU | --cs-architecture=MIPSFPU |
SH3 微处理器带 FPU | --cs-architecture=SH3 |
SH4 微处理器带 FPU | --cs-architecture=SH4 |
Microsoft Visual C++ Express
要使用 Coco 与 Microsoft Visual C++ Express 一起使用
- 将 CoverageScanner 包装器的位置添加到VC++ 目录的第一位置
- 启动 Microsoft Visual C++ Express。
- 选择工具 > 首选项。
- 选择项目 > VC++ Directories。
- 将条目
$(SQUISHCOCO)\visualstudio
添加到目录列表的第一项。
- 代码覆盖率分析激活与 Visual Studio .NET 相似(请参阅 Visual Studio .NET C 和 C++ 编译器)。
Microsoft Visual Studio 6.0
要使用 Coco 与 Visual Studio 6.0 一起使用
- 将 CoverageScanner 包装器的位置添加到可执行目录的第一位置
- 启动 Visual Studio 6.0。
- 选择工具 > 首选项 > 目录。
- 在显示目录的类别中,选择可执行文件。
- 将 Coco 安装目录的
visualstudio
路径作为目录列表中的第一项添加。例如,如果 Coco 安装在c:\programme\SquishCoco
上,请添加路径c:\programme\SquishCoco\visualstudio
。注意:Microsoft Visual Studio 6.0 不能处理路径列表中的系统变量。因此,需要扩展
%SQUISHCOCO%
变量。
- 要激活代码覆盖率分析
- 打开一个 Visual C 或 C++ 项目。
- 单击项目 > 属性来编辑项目设置。
- 将选项
--cs-on
添加到 C 或 C++ 编译器和链接器的附加命令行参数。 - 在连接器的附加参数中添加
--cs-libgen
,以指定生成的 CoverageScanner 库的名称。有关推荐设置的列表,请参阅 库设置。
Microsoft嵌入式Visual C++
要使用Coco与Microsoft嵌入式Visual C++
- 将CoverageScanner包装器的位置添加到可执行目录的第一个位置。
- 启动嵌入式Visual C++。
- 选择工具 > 首选项 > 目录。
- 在显示目录的类别中,选择可执行文件。
- 选择平台和目标CPU。
- 将Coco安装中
WinCE
目录的路径添加到目录列表的第一个位置。例如:如果Coco安装在c:\programme\SquishCoco
,则添加路径c:\programme\SquishCoco\WinCE
。注意:Microsoft嵌入式Visual C++不支持路径列表中的系统变量,因此需要展开
%SQUISHCOCO%
变量。
- 要激活代码覆盖率分析
- 打开一个 Visual C 或 C++ 项目。
- 单击项目 > 属性来编辑项目设置。
- 将选项
--cs-on
添加到C和C++编译器及链接器的附加命令行参数中。
Eclipse C/C++ IDE
在Eclipse™ C/C++ IDE中,可以通过将使用的编译器名称替换为Coco编译器包装器的名称来启用配置的代码覆盖率。
- 启动Eclipse。
- 加载应进行代码插装的C或C++项目。
- 打开项目属性窗口。
- 点击C/C++构建 > 设置。
- 点击管理配置创建新的配置,并选择它。
- 点击工具设置标签页。
- 点击GCC C++编译器,将
cs
添加到编译器的名称前。 - 点击GCC C编译器,将
cs
添加到编译器的名称前。 - 点击C++链接器,将
cs
添加到链接器的名称前。 - 如果是库项目,也点击GCC归档器,并将归档器命令的名称
ar
替换为csar
。
现在Eclipse将使用Coco包装器而不是编译器进行编译。
但是,Coco包装器默认不在搜索PATH中,因此在编译时无法找到。
要更改此设置,需要在属性窗口的C/C++构建 > 环境部分添加PATH
变量的副本,并添加Coco二进制的路径。在UNIX®下,如果Coco安装在默认位置,则PATH
的值将类似/opt/SquishCoco/bin:/usr/local/bin:/usr/bin:/bin
。
通常需要通过设置命令行选项来修改Coco的行为。最简单的方法是将变量COVERAGESCANNER_ARGS
添加到C/C++构建 > 环境中。它的值由命令行选项组成(见选项列表)。然而,如果没有设置或为空,则已激活代码插装。
注意:如果COVERAGESCANNER_ARGS
的值已更改,则需要重新编译整个项目。否则,新的选项将没有效果。
如果一切完成正确并且项目已编译,您将在控制台窗口中看到使用csg++
而不是g++
,并且在新构建的二进制文件旁边创建一个.csmes
文件。当运行二进制文件时,在工作目录中创建一个.csexe
文件,通常与.csmes
文件所在的目录不同。
Apple Xcode
对于Apple Xcode 12之前的版本
要使用Coco与Apple® Xcode,激活代码覆盖率分析
- 打开一个终端窗口,并将
CPLUSPLUS
、LDPLUSPLUS
、LD
和CC
设置为 CoverageScanner 编译器包装器。本地编译器的路径(clang
、clang++
、gcc
或g++
)需要在PATH
环境变量中设置。 - 使用
open
命令启动 Xcode。如果使用
GCC
作为编译器SQUISHCOCO=/Applications/SquishCoco/wrapper export CC=$SQUISHCOCO/gcc export LD=$SQUISHCOCO/gcc export CPLUSPLUS=$SQUISHCOCO/g++ export LDPLUSPLUS=$SQUISHCOCO/g++ open /Developer/Applications/Xcode.app
如果使用
clang
作为编译器SQUISHCOCO=/Applications/SquishCoco/wrapper export CC=$SQUISHCOCO/clang export LD=$SQUISHCOCO/clang export CPLUSPLUS=$SQUISHCOCO/clang++ export LDPLUSPLUS=$SQUISHCOCO/clang++ export XCODE_TOOLCHAIN_DIR=/Applications/Xcode.app/Contents/Developer/Toolchains export XCODE_TOOLCHAIN=$XCODE_TOOLCHAIN_DIR/XcodeDefault.xctoolchain/usr/bin/ export PATH=$XCODE_TOOLCHAIN:$PATH open /Applications/Xcode.app
- 打开一个 Xcode C 或 C++ 项目。
- 通过单击 Project > Edit Project Settings 来编辑项目设置。
- 将选项
--cs-on
添加到 C 和 C++ 编译器的其他命令行参数中(在 Other C Flags 和 Other C++ Flags 中)以及链接器在 Other Linker Flags 中的其他命令行参数。 - 禁用预编译头文件的使用。打开活动目标的设置(Project > Edit Active Target)并移除 Prefix Header 中的内容。
对于 Apple Xcode 12 及更高版本
为了使用 Coco 和 Apple Xcode,激活代码覆盖率分析
- 打开一个 Xcode C 或 C++ 项目。
- 通过单击顶级项目来编辑项目设置。
- 单击 + 按钮,并插入以下 User Defined Settings
CC: /Applications/SquishCoco/wrapper/clang
CPLUSPLUS: /Applications/SquishCoco/wrapper/clang
LD: /Applications/SquishCoco/wrapper/clang
LDPLUSPLUS: /Applications/SquishCoco/wrapper/clang++
- 将选项
--cs-on
添加到 C 和 C++ 编译器的其他命令行参数中(在 Other C Flags 和 Other C++ Flags 中)以及链接器的其他命令行参数中(在 Other Linker Flags 中)。还建议通过添加开关--cs-native-toolchain
来设置clang
工具链的路径。以下是一个完整示例--cs-on --cs-native-toolchain=/Applications/Xcode.app/Contents/Developer/Toolchains /XcodeDefault.xctoolchain/usr/bin/
- 禁用预编译头文件的使用。打开活动目标的设置(Project > Edit Active Target)并移除 Prefix Header 中的内容。
Coco v7.2.0©2024 The Qt Company Ltd.
Qt 及相关标志是芬兰及/或其他国家的 The Qt Company Ltd. 的商标。所有其他商标均为各自所有者的财产。