Linux系统下编译Boost库,并在Qt Creator中使用Boost库

来源:互联网 发布:.php结尾的网页 收录 编辑:程序博客网 时间:2024/05/22 10:35

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="white-space:pre"></span>最近在在Linux下配置Qt环境,同时项目需要用到Boost库,网上关于Linux下编译Boost库和Linux系统的Qt Creator中使用Boost库这二者的教程很多,但是没有一篇贯穿全部的教程,有鉴于此,如下是全部步骤:</span>

1、下载Boost库,版本自选,建议最新版本

地址:http://sourceforge.net/projects/boost/files/boost/1.52.0/

2、Linux下编译Boost库

解压下载好的Boost库;

打开终端,cd 到Boost库解压目录,如我的为:/home/you neme/boost_1_52_0

执行命令  sudo ./bootstrap.sh;(这里生成Boost专用编译工具)

执行命令 sudo ./bjam install

等待安装完成,会在/usr/local/include目录下生成Boost库头文件(其实是拷贝,因为在解压后的Boost文件中就有Boost的头文件),在/usr/local/lib下编译生成Boost库文件,这里是默认编译生成路径,为了以后使用方便,可以在Boost库的解压目录/home/you neme/boost_1_52_0中新建一个stage文件,在stage里面再新建一个lib文件(我在Windows系统下由于习惯是这么干的),然后将生成的库文件拷贝到/home/you neme/boost_1_52_0/stage/lib下;

3、Qt Creator中使用Boost库(这里以thread库的使用为例)

新建控制台应用

主程序中代码如下:

#include <QtCore/QCoreApplication>
#include <boost/thread.hpp>
#include <iostream>
using namespace std;
void hello()
{
    cout<<"qt"<<endl;
}
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    boost::thread My_thread(&hello);
    My_thread.join();
    return a.exec();
}

.pro文件中添加Boost头文件路径和库文件路径,如下:

LIBS +=/home/XXX/boost_1_52_0/stage/lib/libboost_thread.a

LIBS +=/home/XXX/boost_1_52_0/stage/lib/libboost_system.a

注意这里,在Qt中使用Boost库一定要加:(具体原因看:http://blog.csdn.net/mangobar/article/details/52044778)

DEFINES +=BOOST_USE_LIB

即可编译运行

1 0
原创粉丝点击