Файлы ". cpp" в пути включения проекта не будут видны проекту - PullRequest
0 голосов
/ 09 марта 2020

Скажите, у меня есть простой проект 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, чтобы обойти сборку библиотеки?

1 Ответ

0 голосов
/ 09 марта 2020

Файлы «. Cpp» в пути включения проекта не будут видны проекту

Ваша проблема не в том, что проект «видит». Проблема в том, что вам не удалось установить связь с модулем перевода.

Является ли моя единственная возможность встроить А в a.so?

Нет, вам не нужно построить общую библиотеку. Вместо этого вы можете использовать stati c или библиотеку «object».

Или вы можете указать исходный файл в директиве add_executable.

...