ctest找不到valgrind

问题描述 投票:1回答:1

调用

ctest -j4 -DCTEST_MEMORYCHECK_COMMAND="/usr/bin/valgrind" -DMemoryCheckCommand="/usr/bin/valgrind" --output-on-failure -T MemCheck 

Memory checker (MemoryCheckCommand) not set, or cannot find the specified program.

为什么不自动找到valgrind,也不能手动指定?

c++ cmake valgrind ctest
1个回答
3
投票

CTest Wiki page所述,CTest从构建目录中的文件DartConfiguration.tcl读取内存检查命令的位置(以及其他设置)。创建dart配置文件的一种方法是在CMakeLists.txt中简单地包含CTest CMake模块:

include (CTest)

CTest模块将在/usr/bin中找到你的valgrind安装,并在MemoryCheckCommand文件中放置一个指向它的变量DartConfiguration.tcl

© www.soinside.com 2019 - 2024. All rights reserved.