Boost程序库完全开发指南:1-开发环境和构建工具

这篇具有很好参考价值的文章主要介绍了Boost程序库完全开发指南:1-开发环境和构建工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  Boost官方于2019年12月发布的1.72版编写,共包含160余个库/组件,涵盖字符串与文本处理、容器、迭代器、算法、图像处理、模板元编程、并发编程等多个领域,使用Boost,将大大增强C++的功能和表现力。环境:Windows 10,WSL2,Ubuntu 20.04 LTS,Rider(WSL远程开发),gcc/g++ 9.4.0,boost 1.72.0,libstdc++ 20210601。

一.开发环境
1.下载boost_1_72_0.tar.gz[2]
  解压boost_1_72_0.tar.gz,boost目录下的文件结构如下所示:
boost程序库完全开发指南,Boost程序库完全开发指南,Boost,C++
2.编译和安装
  编译和安装boost,如下所示:

./bootstrap.sh;./b2 install

  其中,./bootstrap.sh是编译前的配置工作,./b2 install编译和安装。Boost将编译release版本的库文件,把头文件安装到"/usr/local/include"中,把库文件安装到"/usr/local/lib"中。
boost程序库完全开发指南,Boost程序库完全开发指南,Boost,C++
3.通过例子测试编译
  代码路径boost_guide/common/test.cpp,如下所示:

#include <std.hpp>
using namespace std;

#include <boost/version.hpp>
#include <boost/config.hpp>

int main()
{
    cout << __cplusplus << endl;      // 201402L,C++14
    cout << BOOST_VERSION << endl;    // Boost版本号
    cout << BOOST_LIB_VERSION<< endl; // Boost库版本号

    cout << BOOST_PLATFORM << endl;   // 操作系统
    cout << BOOST_COMPILER << endl;   // 编译器
    cout << BOOST_STDLIB << endl;     // 标准库
}

  输出结果如下所示:

201402
107200
1_72
linux
GNU C++ version 9.4.0
GNU libstdc++ version 20210601

二.构建工具
  C/C++构建工具很好,比如make、CMake等,Boost使用自带的构建工具b2(boost build v2),几乎可以管理任何复杂度的软件,功能强大而又灵活方便,它有自己的fjam语言,通常使用jamroot和jamfile构建项目。b2了解即可,目前主要还是使用CMake构建项目。
1.b2安装
  b2默认安装在"/usr/local/bin/"目录下,如下所示:

cd tools/build/                           # 进入b2的安装目录
./bootstrap.sh; ./b2 install              # 执行配置脚本并安装b2

2.构建脚本
  b2中的jamroot文件放在整个项目的根目录下,用于管理项目树,定义整个项目的构建设置,而b2中的jamfile文件使用文本格式构建脚本来管理代码。jamroot文件一般用于定义整个项目里通用的编译参数、包含路径等设置,避免每个子目录里的jamfile重复定义。boost_guide[4]中的jamroot文件如下所示:

import testing ;                                     # 导入testing

using gcc : : g++                                    # 设置g++编译器
        : <cxxflags>-std=c++14                       # 设置C++14标准
          <cxxflags>-fPIC                            # 设置编译为位置独立代码
          <cxxflags>-Wno-multichar  #for boost::mpl  # 忽略编译警告
        ;

path-constant DEV_ROOT : . ;                         # 设置工程根目录

project : requirements                               # 设置整个项目的选项
        <threading>multi                             # 设置多线程编译
        <link>static                                 # 设置静态链接

        <include>./common/                           # 设置包含路径,相当于-I
        ;

use-project /lib : lib ;                             # 指定lib项目的别名

3.构建语言
  b2使用的构建语言称为bjam,它是一种解释型语言,拥有完整的语法定义,包括变量、分支、循环语句、函数,甚至还包括类。下面举几个例子进行介绍:
(1)构建目标程序e,使用源码xxx.cpp、yyy.cpp和库zzz:exee: xxx.cpp yyy.cpp zzz;
(2)构建目标t,并且在编译后自动运行,通常用于单元测试:unit-testt: xxx.cpp;
(3)定义链接库zzz,它依赖depend_libs:libzzz: depend_libs;
4.构建命令
  常用的b2命令行参数如下所示:
boost程序库完全开发指南,Boost程序库完全开发指南,Boost,C++

三.遇到的问题
1.编译报错
解析:

/usr/bin/ld: cannot open output file test: Is a directory
collect2: error: ld returned 1 exit status

boost程序库完全开发指南,Boost程序库完全开发指南,Boost,C++
  解决方案是可通过CMake,CMakeLists.txt如下所示:

cmake_minimum_required(VERSION 3.26)
project(boost_guide)

set(CMAKE_CXX_STANDARD 14)
include_directories(common)

add_executable(boost_guide common/std.hpp common/test.cpp)

boost程序库完全开发指南,Boost程序库完全开发指南,Boost,C++

参考文献:
[1]《Boost程序库完全开发指南:深入C++准标准库(第5版)》
[2]https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source/
[3]https://www.boost.org/doc/libs/1_72_0/
[4]https://github.com/chronolaw/boost_guide文章来源地址https://www.toymoban.com/news/detail-728898.html

到了这里,关于Boost程序库完全开发指南:1-开发环境和构建工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python Web开发完全指南

    在本文中将逐步了解Python Web开发的基础知识,包括Python语言特点、Web基础、Web开发环境搭建等方面的内容。希望这篇文章能够帮助您掌握Python Web开发的基础知识为您开展Python Web开发之路提供帮助。 在Python语言中需要了解其语言特点、基本语法和数据类型等方面的内容,这些

    2024年02月06日
    浏览(39)
  • FastAPI完全指南:实现高效、安全的Web开发

    在快速发展的互联网时代,高效的Web开发变得尤为重要。Python作为一门广受欢迎的编程语言,其众多Web框架中,FastAPI凭借其出色的性能和易用性,成为了一个炙手可热的选择。FastAPI是一个用于构建API的现代、高性能的Web框架,它基于Python 3.6+的类型提示,提供了快速、直观且

    2024年02月03日
    浏览(41)
  • 【正点原子FPGA连载】第十章Petalinux构建Qt和OpenCV交叉编译开发环境 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 如果读者用过2019.1之前的Petalinux,会知道在设置Petalinux工作环境变量后可以直接使用arm或aarch64的linux交叉编译

    2024年02月07日
    浏览(66)
  • HarmonyOS鸿蒙开发指南:构建用户界面 构建布局

    目录 布局说明 添加标题行和文本区域 添加图片区域 添加留言区域 添加容器

    2024年02月22日
    浏览(52)
  • 前端组件开发指南:构建可复用、高效的用户界面

    在现代Web开发中,前端组件扮演着重要的角色。它们是构建用户界面的基本构建块,能够使开发人员更高效地开发、测试和维护代码。本文将带您深入了解前端组件的概念、优势以及如何使用常见的前端框架构建可复用的组件。 前端组件是一种封装了HTML、CSS和JavaScript代码的

    2024年02月16日
    浏览(49)
  • 一招解决开发环境问题——远程容器开发指南

    使用C++作为主要开发语言的程序猿们应该会认同搭建开发环境是一件烦人的事情。为了编译一个程序不仅需要下载各种依赖包,还可能面临本地系统不兼容、编译器版本不一致、包版本冲突等各种问题。笔者在运营iLogtail开源社区的过程中发现开发和调试环境问题也是成员问

    2024年01月16日
    浏览(52)
  • Kotlin 开发环境配置指南

    步骤 1:获取最新版 Kotlin 编译器 要配置 Kotlin 开发环境,首先需要从 JetBrains 官方 GitHub 仓库下载最新的 Kotlin 编译器。访问以下链接以获取最新版本的编译器: 在该页面中,找到适合您操作系统的 Kotlin 编译器发行版(例如 kotlin-compiler-xxxx.zip ),其中 xxxx 表示当前的版本号

    2024年01月25日
    浏览(41)
  • HarmonyOS鸿蒙开发指南:基于ArkTS开发 轻量级智能穿戴 体验应用、构建布局、绘制样式​​​​​​​和交互事件

    目录 体验应用 构建布局 绘制样式​​​​​​​ 交互事件 HelloWorld工程目录如下图所示: 图1  目录结构 pages/index/index.hml

    2024年02月01日
    浏览(52)
  • Docker Golang 开发环境搭建指南

    在 Golang 开发中,搭建合适的开发环境是非常重要的。然而,由于 Golang 的跨平台特性,不同操作系统之间的配置差异可能会导致环境搭建过程变得复杂。为了简化这个过程并保持开发环境的一致性,我们可以使用 Docker 来创建一个统一的 Golang 开发环境。 本文将介绍如何使用

    2024年02月03日
    浏览(57)
  • python 开发环境(PyCharm)搭建指南

    参考:Python基础教程——搭建Python编程环境 下载 Python Python 下载地址:官网 (1)点击【Downloads】点击【Windows】点击【Python 3.x.x】下载最新版 Python; Python官网下载页面: (2) 勾选【Add python.exe to PYTH 】 点击【Customize installation】,自定义安装位置 点击【OK】,完成安装。

    2024年02月11日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包