开发者

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

开发者 https://www.devze.com 2022-12-16 10:29 出处:网络 作者: 后厂村路蔡徐坤
目录1、下载2、编译链接库1)创建三个独立文件夹2)安装Boost.Build3)编译链接库4) 删除3、链接库测试总结在win端如果使用非VS编译器,则需要使用Boost.Build来创建自己的二进制文件。
目录
  • 1、下载
  • 2、编译链接库
    • 1)创建三个独立文件夹
    • 2)安装Boost.Build
    • 3)编译链接库
    • 4) 删除
  • 3、链接库测试
    • 总结

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

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

      1、下载

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

      2、编译链接库

      1)创建三个独立文件夹

      #后期可以删除,编程客栈安装Boo开发者_Python学习st.Build
      mkdir D:\boost_build
      #后期可以删除,存放
      mkdir D:javascript\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>
      #incl编程客栈ude <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);
          phpboost::thread thrdB(&helloB);  
          thrdA.join();
          thrdB.join(); 
      }

      总结

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

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号