使用 Cmake 移动 .gcda 文件

Move .gcda files with Cmake

我有一个用 Cmake 编译的项目。我使用 Gcov 来了解在目标上执行期间的代码覆盖率。 我使用 GCOV_PREFIX 更改 .gcda 文件的目录。 但是我在这个目录中只有 45 个 .gcda 文件,其余的在源文件夹和子文件夹中。 (600)。

如何将所有 .gcda 文件都放在同一个目录中?

问题出在环境变量上。我会将环境变量设置为用户并以管理员身份 (sudo) 启动程序。 解决方案:

  • 以管理员身份声明变量
  • 以用户身份启动程序

    ./start

  • 使用-E选项以管理员身份启动程序

sudo -E ./start

这是手册页中的引述:

-E, --preserve-env Indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the user does not have permission to preserve the environment.