Извиняюсь за то, что это очень нубский вопрос, но я довольно новичок в C ++.
Я создаю RESTful-сервис с pistache .Я проверил это и получил примеры, работающие в самом проекте, но сейчас пытаюсь импортировать / включить инфраструктуру для использования в моем собственном проекте.
Моя структура папок выглядит следующим образом:
rest_api
|
+--- build
+--- include
|
+--- pistache
+--- src
|
+--- main.cpp
+--- tests
Каталог pistache
содержит все скомпилированного кода исходного кода фисташки . (я не уверен, что мне нужен весь проект или только файлы заголовков)
Я попытался последовать примеру и быстрому запуску руководство, но не смотрели.
My CMakeLists.txt в настоящее время выглядит как barebones:
cmake_minimum_required(VERSION 3.5.1)
project(rest_api)
set(CMAKE_CXX_STANDARD 14)
set(PISTACHE_DIR "./include/pistache")
include_directories (${PISTACHE_DIR}/include)
add_executable(${PROJECT_NAME} src/main.cpp)
My main.cpp является прямой копией их примера hello_server.cc .
Когда я пытаюсь make
моего проекта, я возвращаюсь с исключениями (снимок) :
main.cpp:(.text+0x143): undefined reference to `Pistache::Port::Port(unsigned short)'
main.cpp:(.text+0x148): undefined reference to `Pistache::Ipv4::any()'
main.cpp:(.text+0x162): undefined reference to `Pistache::Address::Address(Pistache::Ipv4, Pistache::Port)'
main.cpp:(.text+0x171): undefined reference to `Pistache::Http::Endpoint::options()'
main.cpp:(.text+0x185): undefined reference to `Pistache::Http::Endpoint::Options::threads(int)'
main.cpp:(.text+0x1c9): undefined reference to `Pistache::Http::Endpoint::Endpoint(Pistache::Address const&)'
main.cpp:(.text+0x1e2): undefined reference to `Pistache::Http::Endpoint::init(Pistache::Http::Endpoint::Options const&)'
main.cpp:(.text+0x223): undefined reference to `Pistache::Http::Endpoint::setHandler(std::shared_ptr<Pistache::Http::Handler> const&)'
Я смотрел на такие вопросы, как this , но мне это не помогло.
Мои вопросы:
- Нужен ли мне весь исходный код Pistache или только заголовки?
- Что не так в моем CMakeLists.txt , который вызывает эти ошибки?
Извините, если это выглядит как дубликат, но не смог найти нужные мне ответы.
Спасибо!