c – 如何链接到cpp-netlib

前端之家收集整理的这篇文章主要介绍了c – 如何链接到cpp-netlib前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用图书馆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.

猜你在找的C&C++相关文章