<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、下载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