ctest 没有找到 valgrind

Bar*_*adé 4 c++ valgrind cmake ctest

打电话

ctest -j4 -DCTEST_MEMORYCHECK_COMMAND="/usr/bin/valgrind" -DMemoryCheckCommand="/usr/bin/valgrind" --output-on-failure -T MemCheck 
Run Code Online (Sandbox Code Playgroud)

Memory checker (MemoryCheckCommand) not set, or cannot find the specified program.
Run Code Online (Sandbox Code Playgroud)

为什么它不会自动找到 valgrind,也不会在手动指定时找到?

sak*_*kra 7

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

include (CTest)
Run Code Online (Sandbox Code Playgroud)

CTest 模块将在其中找到您的 valgrind 安装/usr/binMemoryCheckCommandDartConfiguration.tcl文件中放置一个指向它的变量。