У меня есть проект, в котором я использую boost :: gregorian :: date. Я хотел бы добавить несколько юнит-тестов с использованием библиотеки gtest. Пока что я только добавил библиотеку gtest в свой проект, но я не добавил никаких тестов. Когда я пытаюсь скомпилировать свой проект, я получаю некоторые ошибки компоновщика. У меня нет ошибок, когда я комментирую в Makefile (и, конечно, в других файлах) строки, связанные с boost. Когда я комментирую строки Makefile, связанные с gtest, я получаю только предупреждение:
warning: /usr/lib/x86_64-linux-gnu/libboost_date_time.so: not a directory
но программа работает так, как я хочу.
Когда я пытаюсь скомпилировать код с библиотеками boost и gtest, я получаю ошибки:
cc1plus: error: /usr/lib/x86_64-linux-gnu/libboost_date_time.so: not a directory [-Werror]
cc1plus: all warnings being treated as errors
lib/googletest-master/googletest/CMakeFiles/gtest.dir/build.make:62: recipe for target 'lib/googletest-master/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o' failed
make[3]: *** [lib/googletest-master/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 1
CMakeFiles/Makefile2:282: recipe for target 'lib/googletest-master/googletest/CMakeFiles/gtest.dir/all' failed
make[2]: *** [lib/googletest-master/googletest/CMakeFiles/gtest.dir/all] Error 2
CMakeFiles/Makefile2:85: recipe for target 'CMakeFiles/planner.dir/rule' failed
make[1]: *** [CMakeFiles/planner.dir/rule] Error 2
Makefile:164: recipe for target 'planner' failed
make: *** [planner] Error 2
Вот мой Makefile:
cmake_minimum_required(VERSION 3.10)
project(planner)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS "-std=c++14 -Wall -Wextra -pedantic")
add_executable(planner [some files])
#boost
find_package(Boost)
if (NOT Boost_FOUND)
message(FATAL_ERROR "Could not find boost!")
endif ()
if (Boost_FOUND)
message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")
message(STATUS "Boost_VERSION: ${Boost_VERSION}")
set(BOOST_INCLUDE_DIRS "/usr/include")
set(BOOST_LIBRARY_DIRS "/usr/lib")
find_package(Boost REQUIRED date_time)
include_directories(${Boost_INCLUDE_DIRS})
include_directories(${Boost_LIBRARIES})
target_link_libraries(planner ${Boost_LIBRARIES})
endif ()
#end boost
#gtest
add_subdirectory(lib/googletest-master)
include_directories(lib/googletest-master/googletest/include)
include_directories(lib/googletest-master/googlemock/include)
target_link_libraries(planner gtest gtest_main)
#end gtest
#cppconn
target_link_libraries(planner mysqlcppconn)
Я использую CLion 2019.1.4.
Можете ли вы помочь мне решить эту проблему? Заранее большое спасибо за любую помощь.