linux安装boost.python
前言
boost.python库被用于C++与Python代码间的交互,提供了两者间大部分数据类型的转换
相关环境
操作系统:Ubuntu 20.04
python版本:Python 3.8
boost版本:boost 1.78.0
安装
1.boost.python检查与卸载
在安装boost之前需要检查系统中是否已经安装boost库,若系统中存在则需要卸载干净。
(1)包管理器安装方式的检查 卸载
| 系统类别 | 检查命令 |
|---|---|
| redhat | rpm -qf/usr/include/boost/version.hpp |
| debian | dpkg -S /usr/include/boost/version.hpp |
检查到了则需卸载:
| 系统类别 | 检查命令 |
|---|---|
| redhat | sudo yum remove libboost***-dev |
| debian | sudo apt-get autoremove libboost***-dev |
(***为版本号)
(2)编译方式安装的检查 卸载
通过find命令查找boost/version.hpp
sudo find / -iname version.hpp
查看boost版本
cat version.hpp| grep "BOOST_LIB_VERSION"
卸载boost
sudo rm -r -f /usr/local/include/boost*
sudo rm -f /usr/local/lib/libboost*
(*为相关版本信息)
2.boost.python安装
(1)安装包下载
boost安装包下载: [https://www.boost.org/](https://www.boost.org/)
(2)解压,进入首层目录(采用root用户)
sudo -i
cd /***/boost_1_78_0 (***是相关的存储位置信息)
(3)找到python安装位置
boost.python在编译的时候需要链接到python的解释器,默认会使用在/usr里面的那个python。而老版的ubuntu的python可能是2.x版本的,建议指定为你正在使用的版本。我们可以激活conda的环境,然后使用whereis python命令查找
conda activate your_envs
which python
# 记下python的路径,一般是/xx/xx/bin/python
–prefix 是要安装到的路径,如果有root权限可以按照到默认路径,这样也方便cmake找
–with-python指定安装boost.python38这个库。(如果安装所有库可以添加–with-libraries=all)
–with-python-root指定python解释器的位置,也就是前面which得到的路径
./bootstrap.sh --prefix=/usr/path/of/boost --with-python=python3.8 --with-python-root=/your/python/path
(4)编辑project_config.jam文件
vim project_config.jam
在project_config.jam中python对应地方加入指定版本的python 的include和lib
Python configuration
import python ;
if ! [ python.configured ]
{using python : 3.9 : "/xxx/bin/python" : "/xxx/include": "/xxx/lib";
}
表示意义:版本号 : 可执行文件位置:头文件目录:库文件目录
注意:这里为python所在位置,根据自己实际情况来
(5)编译安装
.
/b2
./b2 install --with-python include="/usr/include/python3.8"
这里include对应python的include目录。
安装成功会在 /usr/local/include/boost 和 /usr/local/lib 下看到boost的头文件和库文件(libboost*.so)
(6)在profile中添加boost路径(编译成功后,会提示路径)
vim /etc/profile
添加内容为:
export CPLUS_INCLUDE_PATH=/home/pigeon/boost/boost_1_78_0:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=/home/pigeon/boost/boost_1_78_0/stage/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=/home/pigeon/boost/boost_1_78_0/stage/lib:$LD_LIBRARY_PATH
(7)运行环境
source /etc/profile
(8)更新连接库
ldconfig
参考链接
linux下boost.python安装过程记录
Boost.python安装和踩坑记录
相关文章:
linux安装boost.python
前言 boost.python库被用于C与Python代码间的交互,提供了两者间大部分数据类型的转换 相关环境 操作系统:Ubuntu 20.04 python版本:Python 3.8 boost版本:boost 1.78.0 安装 1.boost.python检查与卸载 在安装boost之前需要检…...
AI 扩展开发者思维方式:以 SQL 查询优化为例
在现代软件开发中,AI 技术的兴起让开发者的思维方式发生了显著变化。尤其是在 SQL 查询优化、代码重构以及算法设计等领域,AI 提供的建议不仅扩展了开发者的思考路径,还帮助他们发现以往没有意识到的潜在解决方案。 1. 传统思维模式下的 SQL…...
自定义面板,高效的游戏性能分析利器
为了更有效地聚焦并解决性能问题,UWA报告采用了分模块监控策略,确保每个模块独立成章,各司其职。然而,随着对性能分析需求的不断升级,我们已经意识到,在深入分析某些跨模块的性能瓶颈或优化点时,…...
【Linux进程特别篇】深度理解辨识僵尸进程和孤儿进程
--------------------------------------------------------------------------------------------------------------------------------- 每日鸡汤:每一份坚持都是成功的积累,只要相信自己,总会遇到惊喜。 -----------------------------…...
喜报|超维机器人荣获昇腾AI创新大赛铜奖
近日,在备受瞩目的昇腾AI创新大赛中,超维机器人凭借扎实的技术实力和创新产品,荣获大赛铜奖。这一荣誉不仅展现了超维机器人在智能巡检领域的技术创新与突破,也标志着超维机器人的智能巡检解决方案在人工智能领域获得了广泛认可&a…...
从五种架构风格推导出HTTP的REST架构
在分布式系统中,架构风格(Architectural Style)决定了系统组件如何交互、通信、存储和管理数据。每种架构风格都有其独特的特性和适用场景。本文将从五种典型的架构风格出发,逐步探讨它们如何影响了REST(Representational State Transfer,表述性状态转移)架构风格的设计…...
vue-h5:在h5中实现相机拍照加上身份证人相框和国徽框
方案1:排出来照片太糊了,效果不好 1.基础功能 参考: https://blog.csdn.net/weixin_45148022/article/details/135696629 https://juejin.cn/post/7327353533618978842?searchId20241101133433B2BB37A081FD6A02DA60 https://www.freesio…...
免费HTML模板和CSS样式网站汇总
HTML模板:(注意版权,部分不可商用) 1、Tooplate,免费HTML模板下载 Download 60 Free HTML Templates for your websitesDownload 60 free HTML website templates or responsive Bootstrap templates instantly from T…...
Mac打开time machine(时间机器)备份特殊文件
Mac 打开time machine(时间机器)备份特殊文件 设置“时间机器”的作用具体操作办法 前言:今天在使用Nas同步文件时发现有部分重要文件没有同步,为了省事手动拖拽复制文件,导致其中一份非常重要的文件丢失,尝…...
Qt 学习第十六天:文件和事件
一、创建widget对象(文件) 二、设计ui界面 放一个label标签上去,设置成box就可以显示边框了 三、新建Mylabel类 四、提升ui界面的label标签为Mylabel 五、修改mylabel.h,mylabel.cpp #ifndef MYLABEL_H #define MYLABEL_H#incl…...
nvm 切换 Node.js 版本
nvm 切换 Node.js 版本 0. nvm 安装1. 查看装了哪些 Node.js 版本2. 安装 Node.js 版本安装最新稳定版本.安装个18 3. 切换 Node.js 版本4. 设置默认 Node.js 版本5. 卸载 Node.js 版本6.与项目的配合使用参考资料 0. nvm 安装 安装教程就不写了,直接看别人的。 脚…...
AI绘图最强软件stable diffusion,一文带你迅速了解!
有需要stable diffusion整合包可以扫描下方,免费获取 01 — 什么是 SD Stable Difusion(简称 SD) 其三种概念。 1.用来指代稳定扩散(Stable Diffusion) 技术,如 Midjourney是基于Stable Difusion技术实现的就是指它运用了 Stable Diffusion 的技术原理。 …...
VMware重磅官宣!Workstation和Fusion彻底全部免费:支持商用
VMware 官网宣布:VMware Workstation Pro: Now Available Free for Personal Use 别问,问就是正版用户!!! VMware宣布,其桌面虚拟化产品VMware Workstation和VMware Fusion将对所有用户彻底免费࿰…...
CCS 学习记录
1.导入项目 在CCS菜单中选择Project->Import Existing CCS Eclipse Project,点击Browse找到CCS workspace所在文件夹,点击OK,CCS会自动将所选文件夹及其子文件夹下所有的CCS Projects列出。从列表中找到所要导入的项目文件夹,…...
241112.学习日志——[CSDIY] Cpp零基础速成 [01]
CSDIY:这是一个非科班学生的努力之路,从今天开始这个系列会长期更新,(最好做到日更),我会慢慢把自己目前对CS的努力逐一上传,帮助那些和我一样有着梦想的玩家取得胜利!!&…...
94.【C语言】数据结构之双向链表的初始化,尾插,打印和尾删
目录 1.双向链表 2.结构体的定义 3.示意图 3.代码示例 1.双向链表的尾插 示意图 代码 main.c List.h List.c 详细分析代码的执行过程 双向链表的初始化 2.双向链表的打印 代码 3.双向链表的尾删 1.双向链表 以一种典型的双向链表为例:带头双向循环链表(带头:带…...
learn-F12 Performance(性能)前端性能分析(LCP,CLS,INP)
1.前言 在浏览器开发者工具(F12)中,本地指标(Local Metrics)包括LCP( Largest Contentful Paint)、CLS( Cumulative Layout Shift)和INP( Interaction to Nex…...
XCZU47DR-2FSVE1156
XCZU47DR-2FSVE1156 芯片概述 XCZU47DR-2FSVE1156 是一款由 Xilinx 公司生产的 Zynq UltraScale™ RFSoC 芯片。该芯片集成了多种高性能组件,包括四核 ARM Cortex-A53 MPCore™ 和双核 ARM Cortex™-R5,提供了强大的计算能力和灵活性。它还具备丰富的连…...
物联网低功耗广域网LoRa开发(一):LoRa物联网行业解决方案
一、LoRa的优势以及与其他无线通信技术对比 (一)LoRa的优势 1、164dB链路预算 、距离>15km 2、快速、灵活的基础设施易组网且投资成本较少 3、LoRa节点模块仅用于通讯电池寿命长达10年 4、免牌照的频段 网关/路由器建设和运营 、节点/终端成本低…...
【LeetCode】【算法】23. 合并K个升序链表
LeetCode 23. 合并K个升序链表 题目描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 思路 思路:用小根堆解,很强 创建一个小根堆,排序规则为小根堆排序…...
51单片机项目避坑实录:我的声光控灯为什么白天也亮?从硬件到代码的故障排查指南
51单片机声光控灯项目实战:从硬件选型到代码调试的深度避坑指南 深夜的实验室里,我盯着眼前这个不听话的声光控灯——明明窗外阳光明媚,它却固执地亮着。作为一名嵌入式开发新手,这个看似简单的51单片机项目让我踩遍了所有可能的坑…...
颠覆式突破限制:五大核心技术实现网盘下载加速革命
颠覆式突破限制:五大核心技术实现网盘下载加速革命 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广…...
megaAVR_PWM硬件PWM库:工业级实时PWM控制详解
1. megaAVR_PWM 库深度技术解析:面向工业级实时控制的硬件PWM实现1.1 工程背景与核心价值定位在嵌入式系统开发中,PWM(脉宽调制)是电机驱动、LED调光、电源管理及伺服控制等场景的基础技术。然而,大量开发者仍依赖anal…...
27.12MHz 3225 封装 10pF ±10ppm 晶振替代选型指南(含 TXC 等主流品牌)
一、需求背景在电子电路设计中,晶振作为时钟源,其参数匹配直接影响系统稳定性。本文针对 **27.12MHz、3.22.5mm(3225 封装)、负载电容 10pF、精度 10ppm、温度范围 - 40~85℃** 的晶振需求,整理主流品牌兼容替代型号&a…...
八位行波进位加法器设计全攻略:从理论到Quartus II实现
八位行波进位加法器设计全攻略:从理论到Quartus II实现 在数字电路设计中,加法器是最基础也是最重要的运算单元之一。无论是简单的计算器还是复杂的CPU,都离不开高效可靠的加法器设计。八位行波进位加法器作为入门级但实用性极强的设计案例&a…...
缝纫机SW三维模型
在现代机械设计领域,缝纫机SW三维模型作为一种直观化的设计载体,正逐步成为设计过程中的基础工具。这类模型通过SolidWorks软件构建,将缝纫机的机械结构以数字化形式呈现,其核心价值在于为设计环节提供精准的可视化支持与功能验证…...
Java程序员6年焦虑,转行AI后薪资暴涨40%!这8个岗位,普通人也能入局?年薪百万不是梦!
文章讲述了一位Java程序员老周因对纯业务开发感到焦虑,于去年3月开始系统学习AI相关技术,并于去年7月成功跳槽至AI创业公司,薪资涨幅达40%。文章分析了2026年AI相关岗位的招聘趋势,指出AI岗位需求旺盛,但需要程序员具备…...
如何高效提取与编辑Unity游戏资源?UABEA全功能解析与实践指南
如何高效提取与编辑Unity游戏资源?UABEA全功能解析与实践指南 【免费下载链接】UABEA UABEA: 这是一个用于新版本Unity的C# Asset Bundle Extractor(资源包提取器),用于提取游戏中的资源。 项目地址: https://gitcode.com/gh_mi…...
简单几步,让AI帮你画瑜伽女孩:雯雯的后宫-造相Z-Image-瑜伽女孩模型使用教程
简单几步,让AI帮你画瑜伽女孩:雯雯的后宫-造相Z-Image-瑜伽女孩模型使用教程 1. 模型介绍:你的专属AI瑜伽画师 想象一下,你只需要用文字描述,就能让AI为你创作出专业级的瑜伽女孩图片。这就是"雯雯的后宫-造相Z…...
JDK 25模块路径在统信UOS/麒麟V10上启动失败?3步定位osgi-container冲突、jni.so符号缺失与jmod签名验签绕过方案
第一章:Java 25 模块化部署国产化适配方案Java 25 引入了更严格的模块系统约束与原生镜像增强能力,为在麒麟V10、统信UOS、openEuler等国产操作系统上实现轻量、安全、可验证的Java应用部署提供了新路径。适配核心聚焦于JVM层兼容性、模块图裁剪、国密算…...
