C++ win系统如何用MinGW编译Boost库

 更新时间:2022年12月15日 10:09:22   作者:后厂村路蔡徐坤  
这篇文章主要介绍了C++ win系统如何用MinGW编译Boost库问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

在win端如果使用非VS编译器,则需要使用Boost.Build来创建自己的二进制文件。

本文,主要记录win系统用MinGW编译Boost库的过程。

1、下载

boost下载并解压缩,下载链接:https://www.boost.org/users/history/

2、编译链接库

1)创建三个独立文件夹

#后期可以删除,安装Boost.Build
mkdir D:\boost_build
#后期可以删除,存放
mkdir D:\boost_1_76_0\build
#后期不可删除,存放库文件的
mkdir D:\boost

2)安装Boost.Build

cd D:\boost_1_76_0\tools\build
bootstrap.bat gcc
b2 install --prefix="D:\boost_build" --toolset=gcc

3)编译链接库

先将cd D:\boost_1_76_0\

cd D:\boost_1_76_0\
b2 --build-dir="D:\boost_1_76_0\build" --prefix="D:\boost" --toolset=gcc --build-type=complete stage

4) 删除

编译完成后,可以把D:\boost_build和D:\boost_1_76_0\build两个目录删掉,最终的boost库安装在D:\boost下面

3、链接库测试

gcc -I"D:\boost\include\boost-1_76" -L"D:\boost\lib"
INCLUDE += D:\process\boost_1_77_0
LIB += D:\process\boost_1_77_0\stage\lib

测试代码:

#include <iostream>
#include <string>
#include <boost/thread/thread.hpp>
#include <boost/bind.hpp>

using namespace boost;

void helloA() 
{ 
	std::cout << "I'm thread A !  --- Start " << std::endl; 
	sleep(10);
	std::cout << "I'm thread A !  --- OVER " << std::endl; 
}

void helloB() 
{ 
	std::cout << "I'm thread B !  --- Start " << std::endl; 
	sleep(10);
	std::cout << "I'm thread B !  --- OVER " << std::endl; 
}

int main(int argc, char *argv[])
{
	std::cout << "Hello world!" << std::endl;

	boost::thread thrdA(&helloA);
    boost::thread thrdB(&helloB);  
    thrdA.join();
    thrdB.join(); 
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言字符串函数,字符函数,内存函数使用及模拟实现

    C语言字符串函数,字符函数,内存函数使用及模拟实现

    这篇文章主要介绍了C语言字符串函数,字符函数,内存函数使用及模拟实现,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • C++实现简单五子棋游戏

    C++实现简单五子棋游戏

    这篇文章主要为大家详细介绍了C++实现简单五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • C语言实现学生信息管理系统开发

    C语言实现学生信息管理系统开发

    这篇文章主要为大家详细介绍了C语言实现学生信息管理系统开发,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C++利用用埃式筛法求解素数

    C++利用用埃式筛法求解素数

    埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。本文将利用这一算法实现求解素数,感兴趣的可以了解一下
    2023-01-01
  • 使用Qt开发实现字幕滚动效果

    使用Qt开发实现字幕滚动效果

    我们经常能够在外面看到那种滚动字幕,那么就拿qt来做一个吧,文章通过代码示例给大家介绍的非常详细,对大家的学习或工作有有一定的参考价值,需要的朋友可以参考下
    2023-11-11
  • C++11中的时间库std::chrono(引发关于时间的思考)

    C++11中的时间库std::chrono(引发关于时间的思考)

    这篇文章主要介绍了C++11中的时间库std::chrono(引发关于时间的思考),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • OpenCV实现霍夫变换直线检测

    OpenCV实现霍夫变换直线检测

    这篇文章主要为大家详细介绍了OpenCV实现霍夫变换直线检测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • 详解C++中的常量

    详解C++中的常量

    这篇文章主要介绍了C++中的常量的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C语言常见排序算法归并排序

    C语言常见排序算法归并排序

    这篇文章主要介绍了C语言常见排序算法归并排序,归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用
    2022-07-07
  • C++ 中滚动条的滚动问题

    C++ 中滚动条的滚动问题

    本文主要通过一个示例,给大家介绍了C++中滚动条的滚动问题,以及相关参数的解释,非常的详细,有需要的小伙伴可以参考下。
    2015-06-06

最新评论