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

这篇文章主要介绍了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  #include  #include  #include  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(); }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持0133技术站。

以上就是C++ win系统如何用MinGW编译Boost库的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » C语言