首页 > 其他分享 >如何使用Boost库

如何使用Boost库

时间:2023-12-13 14:11:25浏览次数:20  
标签:bg Boost dev 如何 overlap 使用 include boost

参考文章:https://blog.csdn.net/qq_36666115/article/details/131015894

1)安装开发者工具

我们需要工具从其源代码构建 Boost 库,这里是获取所需库的命令: sudo apt-get install build-essential g++ python3-dev autotools-dev libicu-dev libbz2-dev libboost-all-dev  

2)下载需要版本的boost代码包

网址:Boost Version History  

3)提取Tar文件

tar xvf boost_1_80_0.tar.gz
cd boost_1_80_0

4)设置Boost的bootstrap

之后运行给定的命令,该命令将启动存在于 Boost 提取文件夹中的 Bootstrap 脚本。它将开始构建 B2 引擎。另外,它会将编译后的库文件保存在/usr/include/boost
./bootstrap.sh --prefix=/usr/

5)在 Ubuntu 20.04 或 22.04 上安装 Boost

构建 Boost C++ 库 构建完 b2 引擎后,您将在 Boost 目录中看到一个名为b2的可执行文件。我们必须运行它来开始构建 Boost C++ 库。
sudo ./b2 install

6)在C++编程中使用Boost库

现在,无论何时你想使用或包含 Boost 库开始编码,你只需要包含你想使用的 Boost 库的名称。 例如,如果你想使用geometry库: #include <iostream>
#include <boost/geometry.hpp> #include <boost/geometry/geometries/point_xy.hpp> #include <boost/geometry/geometries/polygon.hpp>
namespace bg = boost::geometry;
int main() { // Checks if the two geometries overlaps or not. bg::model::polygon<bg::model::d2::point_xy<double> > poly1; bg::read_wkt("POLYGON((0 0,1 1,0 1,0.1 0.2))", poly1); bg::model::polygon<bg::model::d2::point_xy<double> > poly2; bg::read_wkt("POLYGON((2 2,2 6,6 7,6 1,2 2))", poly2); bool check_overlap = bg::overlaps(poly1, poly2); if (check_overlap) { std::cout << "Overlaps: Yes" << std::endl; } else { std::cout << "Overlaps: No" << std::endl; }
bg::model::polygon<bg::model::d2::point_xy<double> > poly3; bg::read_wkt("POLYGON((-1 -1,-3 -4,-7 -7,-4 -3,-1 -1))", poly3); check_overlap = bg::overlaps(poly1, poly3); if (check_overlap) { std::cout << "Overlaps: Yes" << std::endl; } else { std::cout << "Overlaps: No" << std::endl; }
return 0; }  

7)使用Boost

参考官网文档即可,里面每个函数都有使用的实例教程 https://www.boost.org/doc/libs/1_73_0/libs/geometry/doc/html/geometry/reference.html

标签:bg,Boost,dev,如何,overlap,使用,include,boost
From: https://www.cnblogs.com/kimbiao/p/17898922.html

相关文章

  • 教你使用Prometheus-Operator进行K8s集群监控
    本文分享自华为云社区《Promethues-operator入门使用指导》,作者:可以交个朋友。一、背景在非operator配置的普罗中我们监控k8s集群都是通过配置configmap进行服务发现和指标拉取。切换到prometheus-operator难免会有些使用问题。不少用户已经习惯底层配置自动发现的方式。当过渡......
  • 使用网络蜘蛛的流程●网络爬虫织网步骤
    蜘蛛池是一种通过大量模拟真实用户行为来提升网站搜索引擎排名的技术。这种技术利用大量的网络爬虫程序,模拟搜索引擎蜘蛛的爬行行为,通过大量的模拟爬行和页面抓取,提高网站的权重和排名。现代社会,网络蜘蛛广泛应用于搜索引擎、数据挖掘、舆情分析、商业竞争等领域。那么,使用网络爬......
  • 嵌入式系统开发中常用的程序这些例程的简要介绍和使用示例
    这些例程都是嵌入式系统开发中常用的程序。以下是对这些例程的简要介绍和使用示例:audio_codec:音频编解码器程序,用于处理音频数据的编码和解码。使用示例:#include"audio_codec.h"intmain(){AudioCodeccodec;uint8_tinput[]={0x01,0x02,0x03,0x04};uint8_......
  • Hnswlib 介绍与入门使用
    Hnswlib是一个强大的近邻搜索(ANN)库,官方介绍Header-onlyC++HNSWimplementationwithpythonbindings,insertionsandupdates.热门的向量数据库Milvus底层的ANN库之一就是Hnswlib,为milvus提供HNSW检索。HNSW原理HNSW原理将节点划分成不同层级,贪婪地遍历来自上层的......
  • 给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否
    问题描述:给40亿个不重复的unsignedint的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?问题分析:40亿不重复,没有排序。40亿个unsignedint的整数,放到内存中的话,大约是160G。32*40亿=1280亿=1280000000000bit=160000000000~160g8bit(比特位)=1Byte(字节)......
  • 使用arcpy向server端发布服务
    importarcpyimportos#Setoutputfilenamesoutdir=r"D:"service="MapImageSharingDraftExample"mapname=""sddraft_filename=service+".sddraft"serverurl="https://portal35.geoscene-dev.cn/server&q......
  • MybatisPlus中@TebleField注解的使用
    我们使用MybatisPlus框架操作数据库,一般有两种方式:一种是比较传统的方式,自己写Mapper.xml文件和SQL语句来操作数据库;另一种是使用MybatisPlus框架提供的BaseMapper或者IService接口中提供的增删改查方法。如果使用MybatisPlus中提供的BaseMapper和IService接口中的方法,就需要定......
  • 如何在本地跑IPA算法
    参考文章:https://blog.csdn.net/qq_45529538/article/details/1313110971)下载源码https://github.com/ipa320/ipa_coverage_planning 2)安装依赖sudoaptinstallros-noetic-libdlibros-noetic-opengmros-noetic-cob-navigationcoinor-* 3)编译catkin_make-DCATKIN_......
  • Vue3 setup 方法的一些基本使用总结
    官网介绍:https://cn.vuejs.org/api/composition-api-setup.html基本使用setup()钩子是在组件中使用组合式API的入口,通常只在以下情况下使用:需要在非单文件组件中使用组合式API时。需要在基于选项式API的组件中集成基于组合式API的代码时。setup方法返回值:返回一......
  • 关于使用appium自动化启动app时报错【问题:AttributeError: ‘NoneType‘ object has n
    报错原因:安装了最新版的appium3.0.0和selenium的最新版本,导致版本冲突从而导致报错:AttributeError:'NoneType'objecthasnoattribute'to_capabilities'解决方案:卸载selenium和appium,下载低版本的appium【下载appium的同时会下载依赖selenium】 pipinstall......