码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • VS2019编译boost_1_79,生成32位和64位静态库


    1 编译准备

    环境:WIN10+VS2019+Boost_1_79

    目标:编译生成32位和64位boost静态库

    源码下载:Boost Downloads

    如果从官网下载速度慢,也可以从笔者上传的源代码文件下载(官网下载的原文件)boost_1_79最新版源码(win和linux)-C++文档类资源-CSDN下载

    2 编译Win32 Boost静态库

    解压boost_1_79_0.zip

    打开VS2019的32位命令行工具,如下图

     进入到上边解压的boost库目录中

     执行如下命令生成32位b2工具文件,编译boost库

    .\bootstrap.bat

     使用如下命令查看boost支持的所有库

    b2 --show-libraries

     

    可以看到,Boost库类别众多,项目开发中并不是所有库都需要,根据实际情况取舍编译,编译命令如下:

    b2 stage --toolset=msvc-14.2 --without-graph --without-graph_parallel --without-mpi --without-nowide --without-program_options --without-test --without-python --without-wave --stagedir=“.\build\x86” link=static runtime-link=shared runtime-link=static threading=multi debug release

     命令参数含义:

    stage/install:stage表示只生成库(dll和lib),install还会生成包含头文件的include目录。

    toolset:指定编译器,可选的如msvc-14.2(VS2019编译器)等。

    without/with:选择不编译/编译哪些库。

    stagedir/prefix:stage时使用stagedir,install时使用prefix,表示编译生成文件的路径。

    build-dir:编译生成的中间文件的路径。默认在根目录下,目录名为bin.v2,等编译完成后可将这个目录全部删除,所以不需要去设置。

    link:生成动态链接库/静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。

    runtime-link:动态/静态链接C/C++运行时库。

    threading:单/多线程编译。分别指定single/multi方式。

    debug/release:编译debug/release版本。

    开始编译

     最后在.\build\x86\lib 目录下,生成所需的静态库(截图中只显示了一部分)

    3  编译Win64 Boost静态库

    将编译32位库生成的中间文件全部删除,即删除文件夹bin.v2

    打开VS2019的64位命令行工具,如下图

     执行如下命令生成64位b2工具文件,编译boost库

    .\bootstrap.bat

    然后执行如下命令,进行编译

    b2 stage --toolset=msvc-14.2 --without-graph --without-graph_parallel --without-mpi --without-nowide --without-program_options --without-test --without-python --without-wave --stagedir=“.\build\x64” link=static runtime-link=shared runtime-link=static threading=multi address-model=64 debug release 

    与编译32位程序命令不同的地方:

    a)静态库生成目录,放到.\build\x64里边;

    b)显式使用address-model=64属性,才能生成64位的静态库,否则默认生成32位库。

    最后在.\build\x64\lib 目录下,生成所需的64位静态库(截图中只显示了一部分)

  • 相关阅读:
    YOLOv7芒果独家首发改进新主干:目标检测新范式骨干PPHGNetv2改进版,充分融合信息特征,提升YOLOv7检测能力
    精选JAVA毕业设计56套——源码+论文完整资源
    Mavan进阶之多模块(聚合)
    Codeforces Round #814 (Div. 2) A - F
    牛血清白蛋白(BSA)修饰脂质体
    Java多线程(6):锁与AQS(中)
    电容笔值不值得买?十分值得入手的电容笔品牌推荐
    [ 云计算 Azure ] Chapter 07 | Azure 网络服务中的虚拟网络 VNet、网关、负载均衡器 Load Balancer
    【原创】基于SpringBoot的灾情救助系统(疫情援助系统)(SpringBoot毕业设计)
    【POJ No. 3635】 加满油箱 Full Tank?
  • 原文地址:https://blog.csdn.net/chexlong/article/details/126230195
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号