我正在尝试将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这是我必须保存我的库以确保正确链接的地方吗?
发布于 2015-05-04 19:55:42
您应该为cpp-netlib (-L)和要链接的库(-l)指定库路径:
-lcppnetlib-client-connections.a
-lcppnetlib-server-parsers.a
-lcppnetlib-uri.a boost文件夹结构中没有放置上述库的位置。编译应用程序时必须传递参数。
https://stackoverflow.com/questions/30026342
复制相似问题