boost库的调用ld问题

     最近编译并安装了boost库,想试试它的性能如何?结果在小试一番还是没成功调用。先把现象记录下来
下图为已经安装好的库。
在这个程序中是可以成功调用boost里面的smart_prt
#include <iostream>
#include <vector>
#include <string>
#include <boost/shared_ptr.hpp>

class A
{
public:
    A(std::string s){a=s;}
    std::string a;
    void print(){std::cout<<a<<'\n';}
    
};

int main()
{
    boost::shared_ptr<A> p1(new A("2345"));
    boost::shared_ptr<A> p2(new A("dfgds"));
    std::vector< boost::shared_ptr<A> > m;
    std::vector< boost::shared_ptr<A> >::iterator it;

    m.push_back(p1);
    m.push_back(p2);
    for (it=m.begin();it!=m.end();it++)
    {
        (*it)->print();
    }
return 1;
}

下图运行结果
而下面的程序在ld的时候就出问题了


#include <boost/asio.hpp>
#include <boost/bind.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/enable_shared_from_this.hpp>
#include <iostream>
#include <iostream>
#include <boost/asio.hpp>

int main(int argc, char* argv[]){
using namespace boost::asio;
// 所有asio类都需要io_service对象
io_service iosev;
ip::tcp::acceptor acceptor(iosev,
ip::tcp::endpoint(ip::tcp::v4(), 1000));
for(;;)
{
// socket对象
ip::tcp::socket socket(iosev);
// 等待直到客户端连接进来
acceptor.accept(socket);
// 显示连接进来的客户端
std::cout << socket.remote_endpoint().address() << std::endl;
// 向客户端发送hello world!
boost::system::error_code ec;
socket.write_some(buffer("hello world!"), ec);

// 如果出错,打印出错信息
if(ec)
{
std::cout <<
boost::system::system_error(ec).what() << std::endl;
break;
}
// 与当前客户交互完成后循环继续等待下一客户连接
}
return 0;
}

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(173) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值