一.在ubuntu12.04下安装和编译boost库
1.在windows中下载boost,下面给出的是1.50.0版本的,我们下载unix版本boost_1_50_0.tar.gz。由于我使用的是vmware虚拟机,所有在windows中下载了安装包。
2.将安装包拖动到虚拟机中会自动复制到虚拟机桌面上,建议将安装包放在home下。接下来进行安装包的解压、安装、编译等一些列操作。
将安装包放在linux的合适的路径,从终端进入该路径后执行解压命令: #tar -zxvf boost_1_50_0.tar.gz
在编译安装之前需要安装一些依赖库:#apt-get install mpi-default-dev libicu-dev python-dev libbz2-dev
安装完依赖库后进入解压后的文件夹中,执行命令:#./bootstrap.sh
根据提示可以执行命令:#./b2 cxxflags="--std=c++11"
此处说明一下:如果在./b2后面不跟上述命令,boost库中可能使用到c++11标准的库都不能被编译通过。
然后静待它执行完成。
在完成编译后再执行一次安装命令:#./b2 install,该命令会默认将各种头文件安装在/usr/local/include中,库文件安装在/usr/local/lib中。使用的时候使用命令将其引入即可,方法如下:以qt为例
INCLUDEPATH+=/usr/lcoal/include
LIBS+=/usr/lcoal/lib
二.在Qt中编写测试程序并运行
1.准备了下述程序(从一片博文里拷贝过来的)
#include <boost/thread/thread.hpp>
#include <iostream>
using namespace std;
void task1()
{
for(int i=0;i<10;i++)
{
std::cout << "This is task1: "<<i << std::endl;
}
}
void task2()
{
for(int i=0;i<10;i++)
{
std::cout << "This is task2: "<<i << std::endl;
}
}
int main(){
cout<<"hellow world"<<endl;
boost::thread thread_1 = boost::thread(task1);
boost::thread thread_2 = boost::thread(task2);
thread_2.join();
thread_1.join();
return 0;
}
2.接下来需要做的就是添加Boost库了
安装和编译好boost后,boost的头文件存放在/usr/local/include下,库文件存放在/usr/local/lib下,那么接下来就是要去qt里添加这些目录了。
添加外部库
分别添加Include目录和库文件即可。
当pro中出现如下代码的时候代表以及添加成功
此时可以运行程序,运行结果如下: