Я не могу запустить свои тесты с помощью googletest в visual studio2019 в режиме отладки.
на самом деле у меня разные симптомы на разных машинах, поэтому я попытался создать очень простой базовый пример, который, я надеюсь, является хорошей иллюстрацией моей проблемы, и доступен здесь:
https://github.com/Willyam42/mpb
В основном в режиме Release, кажется, работает нормально.
В режиме отладки тесты не отображаются в тестовом окне VisualStudio2019, и я получаю следующие сообщения в окне вывода:
[13/06/2019 20:47:17 Informational] ------ Discover test started ------
[13/06/2019 20:47:17 Warning] Test run will use DLL(s) built for framework Framework45. Following DLL(s) will not be part of run:
mpblib.lib,testrun.exe are built for Framework None and Platform X64.
Go to http://go.microsoft.com/fwlink/?LinkID=236877&clcid=0x409 for more details on managing these settings.
[13/06/2019 20:47:19 Warning] Could not locate debug symbols for 'C:\Users\guill\build\mpblib\test\Debug\testrun.exe'. To make use of '--list_content' discovery, ensure that debug symbols are available or make use of '<ForceListContent>' via a .runsettings file.
[13/06/2019 20:47:19 Informational] Test Adapter for Google Test: Test discovery starting...
[13/06/2019 20:47:19 Informational] Test discovery completed, overall duration: 00:00:00.0607728
[13/06/2019 20:47:19 Warning] No test is available in C:\Users\guill\build\mpblib\src\Debug\mpblib.lib C:\Users\guill\build\mpblib\test\Debug\testrun.exe. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
Я попробовал ссылку на Microsoft, похоже, она не принесла пользы.
Я не понимаю, почему Visual "не может найти символы отладки", так как я строю в режиме отладки.
Я пытался смотреть в этом направлении:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/8a4518be-d0ae-4c4a-9838-9251d346c3a4/test-run-will-use-dlls-built-for-framework-framework45-and-platform-x86
Не уверен, что это визуальная студия, cmake или googletest.
здесь - CMakeLists.txt, используемый для построения тестов, если это необходимо.
file(
GLOB_RECURSE _source_list
LIST_DIRECTORIES false
"${CMAKE_CURRENT_SOURCE_DIR}/*.cpp*"
"${CMAKE_CURRENT_SOURCE_DIR}/*.hpp"
)
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package (Boost COMPONENTS date_time REQUIRED)
message("CMAKE_SOURCE_DIR : ${CMAKE_SOURCE_DIR}")
include_directories (${CMAKE_SOURCE_DIR}/mpblib/src
${Boost_INCLUDE_DIRS}
)
find_package(GTest REQUIRED)
find_package( Threads REQUIRED )
include(GoogleTest)
link_directories(${Boost_LIBRARY_DIRS})
include_directories(${GTEST_INCLUDE_DIRS})
add_executable (testrun ${_source_list})
target_link_libraries (testrun
${Boost_DATE_TIME_LIBRARY}
${GTEST_LIBRARIES}
${GTEST_MAIN_LIBRARIES}
Threads::Threads
mpblib
)
gtest_discover_tests(testrun TEST_PREFIX new:)
foreach(_source IN ITEMS ${_source_list})
get_filename_component(_source_path "${_source}" PATH)
file(RELATIVE_PATH _source_path_rel "${CMAKE_CURRENT_SOURCE_DIR}" "${_source_path}")
string(REPLACE "/" "\\" _group_path "${_source_path_rel}")
source_group("${_group_path}" FILES "${_source}")
endforeach()
любая помощь будет принята с благодарностью!