BOOST1.75+QT5.15.2编译记录
Posted yantuguiguziPGJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BOOST1.75+QT5.15.2编译记录相关的知识,希望对你有一定的参考价值。
目录
一 编译结果
注意区分下面两个文件夹,左边的是源码文件夹,右边的是编译结果文件夹。
二 编译boost源码为静态库
1>将你的Qt的工具目录(有g++.exe)设置环境变量。(我的是 C:\\Qt\\Tools\\mingw810_64\\bin,要依据实际情况)
2>下载boost源码并解压(如boost_1_75_0.zip)
3>在命令行进入C:/boost_1_75_0/tools/build/src/engine
4>执行 build.bat gcc,在当前目录将会生成bin.ntx86文件夹,里面包含两个exe文件b2.exe,bjam.exe
5>将bin.ntx86\\bjam.exe拷贝到C:\\boost_1_75_0
6>change dir 进入C:\\boost_1_75_0
7>执行命令 bjam "toolset=gcc" install,执行命令会在C盘根目录下生成一个Boost文件夹。我们要使用的头文件与lib就在里边。
8>将7>中生成的 Boost 里的 boost文件夹拷贝到qt 的include下面(我的在 C:\\Qt\\5.15.2\\mingw81_64\\include\\include)
9>将7>中生成的 Boost 里的 lib下.a文件拷贝到 qt lib目录下 (我的在 C:\\Qt\\5.15.2\\mingw81_64\\include\\lib)
第7步注意,使用QT的mingw版本的控制台窗口执行,在左下角开始菜单打开即可。
如果经过第9步和第10步还找不到路径,pro文件设置如下配置:
INCLUDEPATH += "C:/Qt/5.15.2/mingw81_64/include"
LIBS += -L "C:/Qt/5.15.2/mingw81_64/lib"
测试代码,来自参考链接。
#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();
三 参考链接
(11条消息) 如何在Qt中使用boost库_ypy9323的博客-CSDN博客_qt使用boost
以上是关于BOOST1.75+QT5.15.2编译记录的主要内容,如果未能解决你的问题,请参考以下文章
opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录