我的系统是Ubuntu14.04,按照网上的教程安装好Boost。
今天是第一次使用Boost库的,在看了官方文档楞是没搞懂,如是在找了个简单的例子,看看代码以理解thread是怎么简单使用的。结果在编译这个例子的时候(也是按照作者的方法)出现了问题,google了一把,没找到(主要是英文,看着头痛,而且也是刚入手linux系统,有些老外讲的太高端了没看懂怎么回事),然后百度,找到了一个类似的文章,看到了别人的解决方法才开始明白,同时也明白了在看Boost官方文档时的几个困惑。
在Boost官方文档中支持thread库对几个其他的库有依赖关系(官方原文):
这是我开始时的编译命令:g++ thread_01.cpp -o thread_01 -lboost_thread
结果出现了问题
造成这个问题的原因是,前面说的thread的库依赖了几个其他的库,所以导致编译链接时出现问题,可以看出缺少的是lboost_system.so.1.60.0也就是system库。所以要解决这个问题就需要在编译时加上这个库。
这是正确的编译命令:g++ thread_01.cpp -o thread_01 -lboost_thread -lboost_system