如何在Qt中使用boost库
来源:互联网 发布:怎样经营淘宝网店 编辑:程序博客网 时间:2024/05/16 10:20
·最近发现我们的项目使用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();
}
- 如何在Qt中使用boost库
- Linux系统下编译Boost库,并在Qt Creator中使用Boost库
- Linux系统下编译Boost库,并在Qt Creator中使用Boost库 .
- 在Qt 中如何使用OpenCV库
- 如何在Qt中使用自定义数据类型
- 如何在Qt中使用自定义数据类型
- 如何在Qt中使用自定义数据类型
- 如何在Qt中使用自定义数据类型
- 如何在QT环境中使用openCV
- 在code::block中使用boost库
- 在IOS 中使用BOOST C++库
- 在code::block中使用boost库
- 在code::block中使用boost库
- Boost库在VS2010环境中使用
- 如何在Open C/C++应用中使用Boost.Regex
- 在Qt工程中加Boost
- 在Qt工程中加Boost
- Qt中使用boost 库的另外一种方式
- ambari-server setup过程
- 数据库原理 —— 关系数据库的三范式与BCNF
- 二维数组tip-tac-toe游戏
- 组原--动态RAM(DRAM)刷新方式
- OGNL的jar档、文档和源代码
- 如何在Qt中使用boost库
- Qt中文文档-QAbstractAxis类
- leetcode编程记录15 #442 Find All Duplicates in an Array
- 转载一篇文章:MNIST机器学习入门
- H3C交换机日常安全配置
- Qt之实现好友列表
- Qt的各版本直接下载地址
- JavaScript--利用变量来修改属性的小练习
- 数据结构与算法