GTest Неопределенная ссылка - PullRequest
0 голосов
/ 29 мая 2018

Каталог Like picture Directory

в корневом каталоге C CMakeLists.txt:

cmake_minimum_required(VERSION 3.0.0)
project(yx_ip C)

set(CMAKE_C_STANDARD 99)


#########
# GTest #
#########
enable_testing()
add_subdirectory(libs/gtest-1.7.0)
include_directories(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})

 ###########
 # Project #
 ###########
add_executable(yx_ip main.c)
add_subdirectory(libs/arp)
add_subdirectory(libs/base)
add_subdirectory(unit_test)
target_link_libraries(yx_ip BASE ARP)

в unit_test Каталог:

cmake_minimum_required(VERSION 3.0.0)

set(TEST_PROJECT_NAME UnitsTests)
file(GLOB LIBRARY_TESTS_SOURCE *.cpp)

project(${TEST_PROJECT_NAME})



 enable_testing()

if (NOT (TARGET gtest AND TARGET gtest_main))
   message(FATAL_ERROR "gtest and gtest_main targets NOT found")
endif()

add_executable(${TEST_PROJECT_NAME} ${LIBRARY_TESTS_SOURCE})

#target_link_libraries(${TEST_PROJECT_NAME} BASE)
target_link_libraries(${TEST_PROJECT_NAME} BASE gtest gtest_main)

add_test(${TEST_PROJECT_NAME}, ${TEST_PROJECT_NAME})

но если запустить make makefile, то

unit_test/utils_test.cpp:6: undefined reference to `pasrse_ip_address(char*)'
collect2: error: ld returned 1 exit status

, но если просто собрать main.c, результат в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...