当前位置: 首页 > news >正文

curaengine编译源码之libarcus编译记录

libArcus的编译(成功安装)

This library contains C++ code and Python3 bindings for creating a socket in a thread and using this socket to send and receive messages based on the Protocol Buffers library. It is designed to facilitate the communication between Cura and its backend and similar code.

翻译:
Arcus这个库(包含C++代码和Python3绑定),用于在线程中创建套接字,并使用这个套接字基于Protocol Buffers库发送和接收消息。它的设计目的是促进Cura与其后端以及类似代码之间的通信。

Building
To build the library, the following packages are needed:

编译

要编译这个库,需要以下软件包:

1、Protobuf 3 (3.0+)

注意版本要与libarcus的匹配,我下载的5.0版本和4.9版本,要求3.17版本以上,但注意3.20以上的话有几个函数参数要变(减掉一个参数就行)

2、Cmake

CMake To build the python bindings (default on, disable with -DBUILD_PYTHON=OFF) these additional libries are needed:

(1)python3-dev (3.4+)

注意cmakelist里面的python路径要和下载的版本一致

(2)python3-sip-dev (4.16+)

注意这个sip包,名字不一定叫这个,这个只是linux用aptget的叫的名字,比如windows下python安装命令 pip install sip安装的就叫sipbuild,注意下载后要把名字改成sip。如果是sip4的版本不用改
注意cmakelist里的find包里的名字要和这个sip包名一致。
注意sipbuild和sipdistinfo包必须都有(sip5以上的下载的就是这两个,然后还得有一个名叫sip的包,可以直接把sipbuild复制过来改名)

(3)下载了sip却ModuleNotFoundError: No module named ‘sip’

可能一:这个应该是包名不同,应该需要一个叫sip的包,可以这样做第一步:把sipbuild复制一份,副本的名字改成sip,同时把原sipbuild包保留(因为cmake必须要有)。第二步:同时把包sip-版本号.dist-info内的有个toplevel的txt文件内容改成现在的包名sip

可能二:

libarcus4要对应sip4的版本,如4.18;
libarcus5要对应sip6.5以上版本

可以敲以下命令检测sip模块是否安装好:
验证 sip 是否可导入:

bash

python3.9 -c "import sip; print(sip.__file__)"

如果没有错误,并且显示了 sip 模块的路径,那么说明 sip 已经可以被Python解释器正确导入。

如果你仍然遇到问题,可能需要检查你的Python安装是否完整,或者考虑重新安装 sip 和相关的绑定库(如PyQt或PySide)。确保你使用的是与你的Python版本兼容的库版本

3、流程

Building the library can be done with:
编译的是5.0以下version,注意main版本不能用这套

cmakelist的修改

if(NOT DEFINED Python_VERSION)的前面可以加以下内容防止编译器找不到python解释器:一定要用你的python版本号和你的python路径(不知道可以用which python查看)
示例:

 set(Python_VERSION 3.9)set(Python_VERSION_EXACT TRUE)set(Python_EXECUTABLE /usr/bin/python3)

还有这个sip包的名字一定要改成sip: find_package(SIP REQUIRED 6.5.0)改成

 find_package(sip REQUIRED 6.5.0)

接下来编译安装即可:

$ mkdir build && cd build
$ cmake ..
$ make
$ make install
最难的就是cmake这一步,经常报错,一般都是缺包或者版本不匹配。
在这里插入图片描述make install成功的结果应该是这样,且不会报错。
注意这个最后两行的pyArcus.sopy两个文件一定要有才说明sip包的binding是成功安装的

CuraEngine下载

只要安装好了protobuf和libarcus,基本就能搞定CuraEngine的下载
但一定要注意版本匹配
我成功下载的是Curaengine-4.13版本(和libarcus-4.9能匹配,不能和libarcus-5.0匹配,原因是在tyes.h文件里定义的socketstate类稍微有些不同)
注意Curaengine-5.0与libarcus-4.9和5.0都不能匹配

相关文章:

curaengine编译源码之libarcus编译记录

libArcus的编译(成功安装) This library contains C code and Python3 bindings for creating a socket in a thread and using this socket to send and receive messages based on the Protocol Buffers library. It is designed to facilitate the c…...

运用OSI模型提升排错能力

1. OSI模型有什么实际的应用价值? 2. 二层和三层网络的区别和应用; 3. 如何通过OSI模型提升组网排错能力? -- OSI - 开放式系统互联 - 一个互联标准 - 从软件和硬件 定义标准 - 不同厂商的设备 研发的技术 - 具备兼容性 -- O…...

【Node.js】Express学习笔记(黑马)

目录 初识 ExpressExpress 简介Express 的基本使用托管静态资源nodemon Express 路由路由的概念路由的使用 Express 中间件中间件的概念Express 中间件的初体验中间件的分类 初识 Express Express 简介 什么是 Express? 官方给出的概念:Express 是基于…...

Linux系统部署Tale个人博客并发布到公网访问

目录 ⛳️推荐 前言 1. Tale网站搭建 1.1 检查本地环境 1.2 部署Tale个人博客系统 1.3 启动Tale服务 1.4 访问博客地址 2. Linux安装Cpolar内网穿透 3. 创建Tale博客公网地址 4. 使用公网地址访问Tale ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通…...

CentOS7里ifcfg-eth0文件不存在解决方案/Centos7修改网络IP解决方案

Centos7网络IP地址手动设置 1、centos7没有ifcfg-eth0,我的centos7也没有其他博客说的什么ifcfg-ens33、ifcfg-ens32,然后我打开了我这里的ifcfg-eno***,结果发现就是centos6里的ifcfg-eth0里的网络配置。2、vim ifcfg-eno***(按t…...

go第三方库go.uber.org介绍

Uber 是一家美国硅谷的科技公司,也是 Go 语言的早期 adopter。其开源了很多 golang 项目,诸如被 Gopher 圈熟知的 zap、jaeger 等。2018 年年末 Uber 将内部的 Go 风格规范 开源到 GitHub,经过一年的积累和更新,该规范已经初具规模…...

Oracle 正则表达式

一、Oracle 正则表达式相关函数 (1) regexp_like :同 like 功能相似(模糊 匹配) (2) regexp_instr :同 instr 功能相似(返回字符所在 下标) (3) regexp_substr : 同 substr 功能相似&…...

MongoDB聚合运算符:$rand

MongoDB聚合运算符:$rand 文章目录 MongoDB聚合运算符:$rand语法举例生成随机数据点从集合中随机选择条目 $rand聚合运算符用于返回一个0~1之间的随机浮点数。 语法 { $rand: {} }$rand运算符不需要任何参数。每次调用$rand都会返回一个小数点后最多17位…...

如何在Linux通过docker搭建Plik文件系统并实现无公网IP管理内网文件

文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者…...

k8s部署efk

环境简介: kubernetes: v1.22.2 helm: v3.12.0 elasticsearch: 8.8.0 chart包:19.10.0 fluentd: 1.16.2 chart包: 5.9.4 kibana: 8.2.2 chart包:10.1.9 整体架构图: 一、Elasticsearch安装…...

AI模型大PK

🤖AI模型大PK!免费测试GPT-4等36款顶级聊天机器人 近年来,大型语言模型(LLM)的发展日新月异,各大科技巨头和研究机构纷纷推出了自己的聊天机器人。那么,如何才能知道哪个模型更强大、更智能呢&…...

Matlab|基于广义Benders分解法的综合能源系统优化规划

目录 1 主要内容 广义benders分解法流程图: 优化目标: 约束条件: 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现文章《综合能源系统协同运行策略与规划研究》第四章内容基于广义Benders分解法的综合能源系统优化规划&…...

vscode 打代码光标特效

vscode 打代码光标特效 在设置里面找到settings 进入之后在代码最下方加入此代码 "explorer.confirmDelete": false,"powermode.enabled": true, //启动"powermode.presets": "fireworks", // 火花效果// particles、 simple-rift、e…...

【代码随想录算法训练营第四十八天 | LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III】

代码随想录算法训练营第四十八天 | LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III 一、198.打家劫舍 解题代码C&#xff1a; class Solution { public:int rob(vector<int>& nums) {if (nums.size() 0) return 0;if (nums.size() 1) return nums[0];ve…...

蓝桥杯 — —灵能传输

灵能传输 友情链接&#xff1a;灵能传输 题目&#xff1a; 输入样例&#xff1a; 3 3 5 -2 3 4 0 0 0 0 3 1 2 3输出样例&#xff1a; 3 0 3思路&#xff1a; 题目大意&#xff1a;给出一个数组&#xff0c;每次选择数组中的一个数&#xff08;要求不能是第一个数与最后一个…...

智慧安防系统EasyCVR视频汇聚平台接入大华设备无法语音对讲的原因排查与解决

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台支持7*24小时实时高清视频监控&#xff0c;能同时播放多路监控视频流&#xff0c;视频画面1、4、9、16个可选&#xff0c;支持自定义视频轮播。EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标…...

基于Pytorch框架的CNN-LSTM模型在CWRU轴承故障诊断的应用

目录 1. 简介 2. 方法 2.1数据集 2.2模型架构 1. 简介 CWRU轴承故障诊断是工业领域一个重要的问题&#xff0c;及早发现轴承故障可以有效地减少设备停机时间和维修成本&#xff0c;提高生产效率和设备可靠性。传统的基于信号处理和特征提取的方法通常需要手工设计特征&…...

QQ 邮箱使用 SMTP 发送邮件报错:550 The From header is missing or invalid

文章目录 场景描述问题排查根据提示查看原因查看封装的 message 个人简介 场景描述 QQ 邮箱使用 SMTP 发送邮件报错&#xff1a;550 The From header is missing or invalid&#xff1a; 失败原因&#xff1a;(550, bThe "From" header is missing or invalid. Ple…...

mysql中的视图

1、什么是视图&#xff1f; view:站在不同的角度去看待同一份数据。 2、怎么创建视图对象&#xff1f;怎么删除视图对象&#xff1f; 表复制&#xff1a; mysql> create table dept2 as select * from dept; 创建视图对象&#xff1a; create view dept2_v…...

树莓派点亮双色LED

双色LED灯准确来说叫双基色LED灯,是指模块只能显示2种颜色,一般是红色和绿色,可以有三种状态 :灭,颜色1亮,颜色2亮,根据颜色组合的不同,分为红蓝双色,黄蓝双色,红绿双色等等。 接线:将引脚S(绿色)和中间引脚(红色)连接到Raspberry Pi的GPIO接口上,对Raspberry…...

DAY27| 39. 组合总和 ,40.组合总和II ,131.分割回文串

文章目录 39.组合总和40.组合总和II131.分割回文串 39.组合总和 文字讲解&#xff1a;组合总和 视频讲解&#xff1a;组合总和 状态: 此题ok 思路&#xff1a; 代码&#xff1a; class Solution {int sum;public List<List<Integer>> combinationSum(int[] candi…...

24年重庆三支一扶报名照不通过怎么处理?

24年重庆三支一扶报名照不通过怎么处理&#xff1f;...

20240409在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04时跑通4G模块EC200A-CN【PPP模式】

20240409在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04时跑通4G模块EC200A-CN【PPP模式】 2024/4/9 14:25 【不建议使用ppp模式&#xff0c;功耗大&#xff0c;貌似更过分的&#xff01;网速还低&#xff01;】 【唯一的优点&#xff1a;ppp模式下是通过脚本配置…...

【示例】MySQL-不同case下索引的使用分析

前言 本文主要讲述不同SQL语句下&#xff0c;索引的生效情况。 关于索引的前置知识&#xff0c;本文不再讲述。 SQL语句性能分析方法 查看不同类型SQL语句的执行频率 SHOW GLOBAL STATUS LIKE COM_______;慢查询日志 该日志记录了SQL执行时间超过指定参数的所有SQL语句。…...

MySQL表空间管理与优化(8/16)

表空间管理和优化 innodb_file_per_table参数&#xff08;此参数在分区表章节中还会出现&#xff09;&#xff1a; 这个参数决定了InnoDB表数据的存储方式。当参数设置为ON时&#xff0c;每个InnoDB表的数据会单独存储在一个以.ibd为后缀的文件中&#xff0c;这有利于管理和回收…...

杂货铺 | Linux虚拟机Ubuntu操作系统下设置共享文件夹(以及找不到hgfs文件夹怎么办)

文章目录 &#x1f4da;步骤一&#xff1a;配置共享文件夹&#x1f4da;步骤二&#xff1a;配置挂载环境&#x1f4da;步骤三&#xff1a;解决权限问题&#x1f4da;步骤四&#xff1a;解决重启失效问题 &#x1f4da;步骤一&#xff1a;配置共享文件夹 建立本地共享文件夹&…...

《HF经理》:二认知误区

一、管理者掌握重要权力&#xff1a; 二、全力来自管理者的职位&#xff1a; 三、管理者必须控制自己的直接下属&#xff1a; 对策&#xff1a;展示自己的品质&#xff0c;能力和影响力 四、管理者必须建立良好的个人关系&#xff1a; 五、管理这必须确保一切运行正常&…...

ELK日志分析系统之Zookeeper

一、Zookeeper简介 ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务&#xff0c;它提供了一项基本服务&#xff1a;分布式锁服务。分布式应用可以基于它实现更高级的服务&#xff0c;实现诸如同步服务、配置维护和集群管理或者命名的服务。 Zookeepe…...

家居网购项目(Ajax验证用户名+上传图片)

文章目录 1.Ajax验证用户名1.程序框架图2.修改MemberServlet3.修改login.jsp4.结果展示 2.Ajax判断验证码是否输入正确1.修改MemberServlet2.修改login.jsp3.结果展示 3.Ajax添加购物车1.程序框架图2.修改CartServlet2.修改index.jsp3.解决问题—未登录直接添加购物车&#xff…...

09 Php学习:超级全局变量

超级全局变量 PHP中预定义了几个超级全局变量&#xff08;superglobals&#xff09; &#xff0c;这意味着它们在一个脚本的全部作用域中都可用。 PHP 超级全局变量列表: $GLOBALS$_SERVER$_REQUEST$_POST$_GET$_FILES$_ENV$_COOKIE$_SESSION $GLOBALS $GLOBALS 是 PHP 中的…...

莱芜受欢迎的网站建设/深圳优化seo排名

元素是文档结构的基础&#xff0c;在CSS中&#xff0c;每个元素生成了一个包含了元素内容的框&#xff08;box&#xff0c;也译为“盒子”&#xff09;。但是不同的元素显示的方式会有所不同&#xff0c;例如<div>和<span>就不同&#xff0c;而<strong>和<…...

做内衣的网站/seo网站优化是什么

一、报错截图 二、报错原因 ./bin/logstash -f first-pipeline.conf --config.reload.automatic在开启logstash服务的时候打开了自动加载配置的命令行参数,正常来说加了这个参数就可以动态的修改配置文件而不用重新启动服务&#xff0c;但是由于配置文件里面input添加了stdin&…...

新建的网站怎么上首页/分析网站推广和优化的原因

数组&#xff1a; 1.push(): 向数组尾部添加一个或多个元素&#xff0c;并返回添加新元素后的数组长度。注意&#xff0c;该方法会改变原数组。 1 var arr [1,2,3]; 2 console.log(arr); // [1, 2, 3] 3 var b arr.push(4); 4 console.log(b); // 4 //表示当前数组长度 5 con…...

b2c网站推广/百度热搜广告位多少钱

本人android studio3.0运行helloworld都报错&#xff0c;打开不了守护进程&#xff0c;然后看网上说java版本可能不对&#xff0c;想卸载java&#xff0c;发现任务管理器怎么都卸载不了&#xff0c;网上说的两个办法都试了没用&#xff0c;一天的挣扎&#xff0c;终于找到下面网…...

二手电商怎么做/网站seo如何优化

最近&#xff0c;对于西安鱼化寨拆迁&#xff0c;对于我们也有影响&#xff0c;这些房东&#xff0c;趁着这时候&#xff0c;把房租涨了。。。 让我感到他们眼里只有钱&#xff0c;贪婪&#xff0c;无法形容&#xff0c; 一句“你要是觉得不适&#xff0c;可以搬呀”&#xff…...

微网站 小程序 区别/上海seo招聘

1、五只猴子分桃。半夜&#xff0c;第一只猴子先起来&#xff0c;它把桃分成了相等的五堆&#xff0c;多出一只。于是&#xff0c;它吃掉了一个&#xff0c;拿走了一堆&#xff1b; 第二只猴子起来一看&#xff0c;只有四堆桃。于是把四堆合在一起&#xff0c;分成相等的五堆&a…...