Есть проект, результатом которого должны быть две статические библиотеки. Дерево проекта выглядит так:
.
├── CMakeLists.txt
├── base
│ ├── CMakeLists.txt
│ ├──── base.h
│ └──── base.cpp
├── Test1
│ ├── CMakeLists.txt
│ │ └──── set(PROJ1 test1)
│ │ project(${PROJ1})
│ │ set(HDRSRT ../base/base.h test1.h)
│ │ set(SRCSRT ../base/base.cpp test1.cpp)
│ │ find_package(Qt5Core)
│ │ set(CMAKE_AUTOMOC ON)
│ │ add_library(${PROJ1} STATIC ${HDSRT} ${SRCSRT})
│ │ target_link_libraries(${PROJ1} Qt5::Core)
│ ├──── test1.h
│ └──── test1.cpp
└── Test2
├── CMakeLists.txt
├──── test2.h
└──── test2.cpp
Тесты имеют общий базовый класс, base. Проект успешно собирается, и, даже работает. Но, если я пробую использовать две библиотеки олдновременно, получаю ошибку multiple definition методов базового класса. Подскажите, пожалуйста, как исправить ситуацию.