Linkerfehler, die versuchen, den Google -Test zum grundlegenden CMake -Projekt hinzuzufügenC++

Programme in C++. Entwicklerforum
Anonymous
 Linkerfehler, die versuchen, den Google -Test zum grundlegenden CMake -Projekt hinzuzufügen

Post by Anonymous »

Mein Projektverzeichnis sieht so aus: < /p>

Code: Select all

build
CMakeLists.txt
header_1.h
main.cpp
test
CMakeLists.txt
main.cpp
tests.cpp
< /code>
Ich habe diesen CMakelists.txt, um meine ausführbare Datei zu generieren (ohne Test): < /p>
cmake_minimum_required (VERSION 3.1)

project (my_project)

set (CMAKE_CXX_STANDARD 23)
set (CXX_STANDARD_REQUIRED ON)
set (CMAKE_CXX_EXTENSIONS OFF)

add_executable(my_app main.cpp)

target_include_directories(my_app PUBLIC)
Ich versuche, einen Unterbeordner-Test hinzuzufügen , um Unit-Tests mit Google-Test zu erstellen, aber ich kämpfe zu kämpfen. haben: < /p>
set(BINARY ${CMAKE_PROJECT_NAME}_test)

file(GLOB_RECURSE TEST_SOURCES LIST_DIRECTORIES false *.h *.cpp)

set(SOURCES ${TEST_SOURCES})

find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})

add_executable(${BINARY} ${TEST_SOURCES})

add_test(NAME ${BINARY} COMMAND ${BINARY})

target_link_libraries(${BINARY} PUBLIC ${CMAKE_PROJECT_NAME} ${GTEST_LIBRARIES} pthread)
< /code>
, aber ich erhalte immer wieder Linkerfehler, da die zweite CMake meine Anwendung als Bibliothek sucht, nicht als ausführbar: < /p>
[100%] Linking CXX executable my_project_test
/usr/bin/ld: cannot find -lmy_project: No such file or directory
< /code>
Ich habe um Hilfe gegoogelt, aber ich konnte kein einfaches Beispiel finden. Es gibt ein Beispiel für Google -Seite, aber es zeigt nur den zweiten CMake, nicht das erste.
Könnte jemand bitte dabei helfen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post