Основной вопрос cmake о включении нового класса - PullRequest
0 голосов
/ 13 января 2019

В настоящее время у моего проекта только один файл BookPrinter.cpp, а CMakeList.txt в своем каталоге содержит

add_executable(book_printer
    BookPrinter.cpp
)

target_link_libraries(book_printer
    ${MD_API_LIBRARIES}
    rt
    z
)

Теперь я хочу добавить новый класс "MyBookWrapper" с MyBookWrapper.h и MyBookWrapper.cpp в одном каталоге. У меня есть include BookWrapper.h в моем BookPrinter.cpp.

но при компиляции я получил эту ошибку

BookPrinter.cpp:blah blah blha incomprehensible code : undefined reference to `MyBookWrapper::Refresh()'
collect2: error: ld returned 1 exit status

Что мне добавить, чтобы включить этот новый MyBookWrapper?

1 Ответ

0 голосов
/ 13 января 2019

Что ж, первое , что вы должны сделать, это добавить MyBookWrapper.cpp к вашему add_executable утверждению.

Имеется ошибка компоновщика, означающая, что он не может найти код для вашего нового класса, он не имеет ничего общего с файлом заголовка.

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