我正在尝试将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
这是我必须保留我的库以确保正确链接的地方。
答案 0 :(得分:0)
您应该为cpp-netlib(-L)指定库路径,并为链接(-l)指定库:
-lcppnetlib-client-connections.a
-lcppnetlib-server-parsers.a
-lcppnetlib-uri.a
在boost文件夹结构中没有地方放置库。编译应用程序时必须传递参数。