加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何链接到cpp-netlib

发布时间:2020-12-16 03:00:04 所属栏目:百科 来源:网络整理
导读:我想使用图书馆cpp-netlib作为C项目.因此,我在homebrew的帮助下安装了boost库(操作系统是Mac OS X 10.8).然后我从项目主页下载了cpp-netlib,用cmake创建了Makefile,并成功应用了make. “测试”通过了所有的测试.然后我将cpp-netlib的include文件夹复制到boos
我想使用图书馆cpp-netlib作为C项目.因此,我在homebrew的帮助下安装了boost库(操作系统是Mac OS X 10.8).然后我从项目主页下载了cpp-netlib,用cmake创建了Makefile,并成功应用了make.
“测试”通过了所有的测试.然后我将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

我收到这些链接器错误:

架构x86_64的未定义符号:
“boost :: network :: uri :: detail :: parse(__ gnu_cxx :: __ normal_iterator,std :: allocator>&gt,__gnu_cxx :: __ normal_iterator,std :: allocator>>,boost :: network :: uri :: detail :: uri_parts< __ gnu_cxx :: __ normal_iterator,std :: allocator>>>&)“,引用自:
boost :: network :: uri :: uri :: parse()在ccs87Dq3.o
“boost :: network :: http :: impl :: normal_delegate :: normal_delegate(boost :: asio :: io_service&)”,引自:
boost :: network :: http :: impl :: connection_delegate_factory :: new_connection_delegate(boost :: asio :: io_service& amp; bool,boost :: optional,std :: allocator>>)在ccs87Dq3.o中
ld:没有找到架构x86_64的符号
collect2:ld返回1退出状态

我真的使用搜索功能,但我找不到任何解决方案的问题.我究竟做错了什么?

非常感谢!

解决方法

建立cpp-netlib(> = 0.9.3)后,应该有3个静态库:
libcppnetlib-client-connections.a
libcppnetlib-server-parsers.a
libcppnetlib-uri.a

在构建您的http-client项目时,应该为cpp-netlib(-L)和库指定一个库路径,以链接(-l)与:cppnetlib-uri和libcppnetlib-client-connections.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读