如何在Qt中使用boost库

·最近发现我们的项目使用boost库频率较stl高,所以决定学习一下boost库,跟据自己情况,以Qt开发为主。所以研究了一下如何在qt中使用boost库。

在网上查了不少资料非常感谢昵称为zhangnianyong 的大佬的博客为我提供了很多参考。在此与大家分享一下我的心得与学习过程。

实际上在qt中我们可以使用boost 编译后的静态库(可能还会有别的方式)。使用的时候将相应的头文件引入就行。下面就和大家分享一下这个过程。

一、编译boost源码为静态库

          1>将你的Qt的工具目录(有g++.exe)设置环境变量。(我的是 F:\Qt592\Tools\mingw530_32\bin,要依据实际情况)

          2>下载boost源码并解压(如boost_1_65_1.zip)

          3>在命令行进入boost_1_65_1/tools/build/src/engine

      4>执行 build.bat gcc,在当前目录将会生成bin.ntx86文件夹,里面包含两个exe文件b2.exe,bjam.exe

      5>将bin.ntx86\bjam.exe拷贝到E:\boost_1_65_1

      6>change dir 进入boost_1_65_1

      7>执行命令 bjam "toolset=gcc" install,执行命令会在C盘根目录下生成一个Boost文件夹。我们要使用的头文件与lib就在里边。

      8>将7>中生成的 Boost 里的 boost文件夹拷贝到qt 的include下面(我的在 F:\Qt592\5.9.2\mingw53_32\include)

          9>将7>中生成的 Boost 里的 lib下.a文件拷贝到 qt lib目录下 (我的在 F:\Qt592\5.9.2\mingw53_32\lib)

二、使用

我创建了一个 console APP ,直接引入相应的头文件就行可以使用了。

 
#include <QCoreApplication>
 
///[1] 成功引入头文件
#include <boost/bind.hpp>
#include <boost/function.hpp>
#include <QDebug>
 
int add(int a, int b) {
    return a + b;
}
 
int sub(int a, int b) {
    return a - b;
}
 
using PTR = int(int, int);
 
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
 
    ///[2] 测试c++11 using (类型别名)
    boost::function<PTR> funObj = boost::bind(add, _1, _2);
    qDebug() << funObj(78, 78);
 
    ///[3] 测试c++11类型推导出
    auto funObj2 = boost::bind(sub, _1, _2);
    qDebug() << funObj2(87, 78);
    return a.exec();
}
 

  • 15
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
Boost是一个开源的C++集合,提供了许多功能强大的组件和工具,用于增强C++语言的功能和性能。Qt是一个跨平台的应用程序开发框架,而MinGW是一个在Windows平台上使用的GNU工具集。 要编译Boost并与Qt和MinGW一起使用,可以按照以下步骤进行操作: 1. 下载Boost:首先,你需要从Boost官方网站(https://www.boost.org/)下载Boost的源代码。选择适合你的操作系统和编译器的版本。 2. 解压Boost:将下载的Boost源代码解压到你选择的目录。 3. 打开命令提示符:在Windows上,按下Win + R键,输入"cmd"并按下Enter键,打开命令提示符。 4. 进入Boost目录:使用cd命令进入你解压Boost源代码的目录。 5. 运行bootstrap.bat:在命令提示符运行bootstrap.bat脚本文件,它将为你的系统配置编译环境。 6. 编译Boost:运行b2命令来编译Boost。你可以使用一些选项来指定编译器和其他参数。例如,如果你想使用MinGW编译器,可以运行以下命令: ``` b2 toolset=gcc ``` 7. 安装Boost:编译完成后,运行b2 install命令来安装Boost。这将把编译好的文件复制到指定的目录。 8. 配置Qt项目:在Qt项目使用Boost时,你需要在项目文件(.pro文件)添加相应的配置。例如,如果你想使用Boost的某个模块,可以在.pro文件添加以下行: ``` LIBS += -lboost_module INCLUDEPATH += /path/to/boost ``` 以上是编译Boost并与Qt和MinGW一起使用的基本步骤。具体的配置和使用方法可能因你的项目需求和环境而有所不同。如果遇到问题,可以参考Boost官方文档或在相关社区寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值