Как включить Visual Leak Detector с помощью cmake в Visual Studio 2017? - PullRequest
0 голосов
/ 18 октября 2018

Я использую Visual Studio 17 для своих проектов и хотел бы использовать Visual Leak Detector для обнаружения утечек памяти.

Далее проект настроен на использование cmake, и поэтому я включил следующие строки кода в мой cmakelist.txt.

cmake_minimum_required(VERSION 3.11)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -pedantic")
message("Enabling Visual Leak Detector")
find_library(VLD vld HINTS "C:/somePath/Visual Leak Detector/lib/Win64/")
find_file(VLD_H vld.h HINTS "C:/somePath/Visual Leak Detector/include")
include_directories("${VLD_H}")
link_libraries("${VLD}")
message("${VLD_H}")
message("${VLD}")
message("Enabling Visual Leak Detector Done")
add_executable(main main.cpp)

У меня, однако, проблема в том, что Visual Studio не находит эту конфигурацию.Если я использую автоматически включенные / связанные библиотеки / каталоги в решении, VLD найден, может быть включен и запущен, что заставляет меня поверить, что выше cmakelist.txt просто нужно немного подправить.У кого-то есть идея, что я мог бы сделать / попробовать?

Ошибка: Ошибка C1083 Не удается открыть включаемый файл: 'vld.h': Нет такого файла или каталога Ошибка (активная) E1696 не может открыть исходный файл "vld.h "main - x64-Debug

Вывод:

1> Command line: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe  -G "Ninja" -DCMAKE_INSTALL_PREFIX:PATH="C:\something\CMakeBuilds\8ab4cf5c-e7da-fe3d-9c4a-91e8ace77e1f\install\x64-Debug"  -DCMAKE_CXX_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.15.26726/bin/HostX64/x64/cl.exe"  -DCMAKE_C_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.15.26726/bin/HostX64/x64/cl.exe"  -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_MAKE_PROGRAM="C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "C:\some\Advpt\Ex1"
1> Working directory: C:\something\CMakeBuilds\8ab4cf5c-e7da-fe3d-9c4a-91e8ace77e1f\build\x64-Debug
1> Enabling Visual Leak Detector
1> C:/somePath/Visual Leak Detector/include/vld.h
1> C:/somePath/Visual Leak Detector/lib/Win64/vld.lib
1> Enabling Visual Leak Detector Done
1> -- Configuring done
1> -- Generating done
1> -- Build files have been written to: C:/something/CMakeBuilds/8ab4cf5c-e7da-fe3d-9c4a-91e8ace77e1f/build/x64-Debug
1> Starting CMake target info extraction ...
1> CMake server connection made.
1> Extracted includes paths.
1> Extracted CMake variables.
1> Extracted source files and headers.
1> Extracted global settings.
1> Extracted code model.
1> Extracted CTest info.
1> Collating data ...
1> Target info extraction done.
...