Интеграция cpp-netlib в уже существующий пакет наддува

Я пытаюсь интегрировать cpp-netlib в мой ранее существующий пакет boost и использовать его в своей программе.

Я просто в том числе:

#include <boost/network/uri.hpp>

и пытается использовать это так:

boost::network::uri::uri u("http://google.com");

При попытке сделать это я получаю ошибку компоновщика:

Неопределенные символы для архитектуры x86_64:

  "boost::network::uri::detail::parse(std::__1::__wrap_iter<char const*>, std::__1::__wrap_iter<char const*>, boost::network::uri::detail::uri_parts<std::__1::__wrap_iter<char const*> >&)", referenced from:
      boost::network::uri::uri::parse() in Watcher.o

До сих пор я загружал cpp-netlib, собирая его с помощью cmake. Я считаю, что это было успешно, так как я вижу следующие 3 библиотеки:

libcppnetlib-client-connections.a
libcppnetlib-server-parsers.a
cppnetlib-uri.a

Поэтому мой вопрос: где мне разместить 3 статические библиотеки, которые я сгенерировал, чтобы обеспечить правильное связывание? Я уже вижу некоторые библиотечные файлы внутри каталога:

-Boost
     -bin.v2

Это место, где я должен хранить свои библиотеки, чтобы обеспечить правильное связывание.

1 ответ

Вы должны указать путь к библиотеке для cpp-netlib (-L) и библиотеки для связи (-l):

-lcppnetlib-client-connections.a
-lcppnetlib-server-parsers.a
-lcppnetlib-uri.a 

Нет места для размещения вышеуказанных библиотек в структуре папок boost. Вы должны передать аргумент при компиляции приложения.

Другие вопросы по тегам