gpt4 book ai didi

c++ - 如何链接到 cpp-netlib

转载 作者:可可西里 更新时间:2023-11-01 15:14:54 32 4
gpt4 key购买 nike

我想将库 cpp-netlib 用于 C++ 项目。因此,我在自制软件的帮助下安装了 boost 库(操作系统是 Mac OS X 10.8)。然后我从项目主页下载了cpp-netlib,使用cmake为g++创建了Makefile并成功应用了make。“make test”通过了所有测试。然后我把cpp-netlib的include文件夹复制到boost目录下。

所以这是麻烦开始的时候:我尝试编译文档的第一个示例 http-client但无法让它工作。当我用

g++ test.cpp -o out -I/usr/local/Cellar/boost/1.53.0/include 
-L/usr/local/Cellar/boost/1.53.0/lib
-lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt

我收到了这些链接器错误:

Undefined symbols for architecture x86_64:
"boost::network::uri::detail::parse(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::network::uri::detail::uri_parts<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)", referenced from:
boost::network::uri::uri::parse() in ccs87Dq3.o
"boost::network::http::impl::normal_delegate::normal_delegate(boost::asio::io_service&)", referenced from:
boost::network::http::impl::connection_delegate_factory<boost::network::http::tags::http_async_8bit_udp_resolve>::new_connection_delegate(boost::asio::io_service&, bool, boost::optional<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::optional<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)in ccs87Dq3.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

我确实使用了搜索功能,但找不到解决我问题的方法。我究竟做错了什么?

非常感谢!

最佳答案

构建 cpp-netlib (>=0.9.3) 后应该有 3 个静态库:

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

当构建你的 http-client 项目时,你应该为 cpp-netlib (-L) 和链接库指定一个库路径 (-l) 反对:cppnetlib-urilibcppnetlib-client-connections

关于c++ - 如何链接到 cpp-netlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15055298/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com