Скажите, у меня есть простой проект Test. Вот CMakeLists.txt:
project(Test)
set(CMAKE_CXX_STANDARD 11)
include_directories(path/to/somewhere)
add_executable(Test main.cpp)
Теперь в каталоге include у меня есть A.h
и A.cpp
. Всякий раз, когда я компилирую, я всегда получаю неопределенную ссылку на определение функций, объявленных в A.h
. Ясно, что проект вообще не видит A.cpp
.
Могу ли я узнать, как мне заставить его работать? Учитывая, что я предпочитаю не делать add_executable(Test main.cpp A.cpp)
, так как я думаю, что A
должен быть скорее отдельной вещью, чем встроенной в исполняемый файл напрямую. Является ли мой единственный вариант построения A
в .so
? Могу ли я как-то изменить cmake, чтобы обойти сборку библиотеки?