Интеграция 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. Вы должны передать аргумент при компиляции приложения.