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

来源:互联网 发布:matlab数据拟合函数 编辑:程序博客网 时间:2024/06/08 07:46
<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

即可编译运行


网址:http://blog.csdn.net/qq_26849233/article/details/52973838

            http://blog.csdn.net/libaineu2004/article/details/49208707

0 0
原创粉丝点击