Ich möchte Google C++ testen und ich bin komplett Anfänger zu cmake und gtest.Cmake und Gtest
Ich habe eine Klasse namens Filter, die eine 3D-Party-Bibliothek namens Jane verwendet.
Für diesen Fall habe ich ein cmakeFile die schön mein Projekt baut sich wie folgt:
cmake_minimum_required(VERSION 3.1.2)
project(Filter)
include(../../../cmake/CMakeMacros.txt)
set_variables()
#add 3rdparty libraries
add_jane()
#add framework libraries
add_framework_libs(
ip/Image
)
include_directories(
../include
${FW_INCLUDE_DIRS}
)
#set project's source and include files
set(INCS
../include/${PROJECT_NAME}.h
../include/${PROJECT_NAME}.tpp
../include/FilterMask.h
)
set(SRCS
../src/${PROJECT_NAME}.cpp
../src/FilterMask.cpp
)
#set link directories
link_directories(
${FW_LIBRARY_DIRS}
)
#build project as static library (*.lib)
add_library(${PROJECT_NAME} STATIC
${INCS}
${SRCS}
)
#link libraries against project
target_link_libraries(${PROJECT_NAME}
${FW_LIBRARIES}
)
#if a test executable should be build
if(Test_BUILD_EXAMPLES)
#build test executable
add_executable(${PROJECT_NAME}Test
../src/main.cpp
)
#link library against executable
target_link_libraries(${PROJECT_NAME}Test
${PROJECT_NAME}
)
endif(Test_BUILD_EXAMPLES)
und auch habe ich diese einfache Anleitung auf https://github.com/snikulov/google-test-examples mit dieser Cmake Datei https://github.com/snikulov/google-test-examples/blob/master/CMakeLists.txt und versuchte noch einmal lesen mein Projekt zu bauen, zu kombinieren Diese Cmake-Dateien zusammen (kann sehr albern sein), aber ich kann es seit Tagen nicht erreichen.
Das Problem ist, dass, wenn ich ein einfaches Projekt mit nur einer Header-Datei testen möchte ich diese cmake-Datei verwenden kann, aber sobald ich versuche, mein Projekt mit einer 3rd-Party-Bibliothek zu testen, stoße ich auf verschiedene Fehler.
Kann mir bitte jemand sagen, wie ich eine korrekte cmake-Datei bearbeiten kann, um mein Projekt mit googleTest zu testen, indem ich eine cmake-Datei verwende!?
Möglicherweise möchten Sie prüfen, [diese Antwort] (http: //stackoverflow.com/a/31622855/1938798) für eine alternative Methode, um gtest zu Ihrem Build anstatt der Methode in diesem Tutorial zu bringen. Der Artikel, auf den die Antwort verweist, hat auch ein Projekt auf github mit einem voll funktionsfähigen Beispiel. Was Ihr Verknüpfungsproblem betrifft, so würden Sie, wenn Sie die tatsächlichen Fehler anzeigen, die Sie erhalten, eine spezifischere Diagnose Ihres zugrunde liegenden Problems ermöglichen. Es ist auch ziemlich seltsam, dass Ihr Projekt alle Quellen usw. aus Verzeichnissen außerhalb des Projekts bezieht. –