curaengine编译源码之libarcus编译记录

这篇具有很好参考价值的文章主要介绍了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这一步,经常报错,一般都是缺包或者版本不匹配。
curaengine编译源码之libarcus编译记录,c++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都不能匹配文章来源地址https://www.toymoban.com/news/detail-851630.html

到了这里,关于curaengine编译源码之libarcus编译记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • mysql 8.0.33源码编译及调试记录

    由于想对mysql的行锁的实现进行一些研究,于是希望自己编译mysql的debug版本进行调试,本文用于记录编译的过程。 首先需要下载源码,mysql的源码在github上可以找到,这里选择8.0.33版本进行下载,下载地址为: https://github.com/mysql/mysql-server/archive/refs/tags/mysql-8.0.33.tar.gz 我这里

    2024年02月13日
    浏览(41)
  • windows electron sources build,源码编译记录

    electron 采用chrome 编译工具链; chrome 相关编译见:https://blog.csdn.net/weixin_44503157/article/details/122861075?spm=1001.2014.3001.5501 选择需要的版本:在electron release 中找到需要的版本(通常根据chrome 版本来选,定electron、node 的版本) https://github.com/electron/releases 构建 .gclient文件,匹配对应

    2024年02月10日
    浏览(37)
  • OpenHarmony 4.0 源码编译hb 问题排查记录

    OS:Ubuntu 22.04 x86_64 下载好Openharmony 4.0Beta2 的源码 从错信息看是找到某个目录,hb 是python写的,所以打算看看源码是找个目录出错了,根据出错信息直接看源码文件。 查看python 代码可知报错原因是没找到 build/lite/hb_internal ,在OpenHamony 源码下确实没有发现有 build/lite/hb_internal

    2024年02月09日
    浏览(42)
  • Openharmony3.2 源码编译(ubuntu 22.04) 过程记录

    OS: ubuntu 22.04 x64 1.1 安装码云repo工具 1.2 将repo添加到环境变量 1.3 获取源码 需有gitee.com 账号,同时设置好ssh 公钥登录(https://gitee.com/help/articles/4191#article-header0) 2.1 安装编译工具 2.2 将hb添加到环境变量 2.3 通过hb 选取板卡配置 解决方法: 2.4 编译 解决方法: 安装ninja 和 gn

    2024年02月08日
    浏览(49)
  • Linux CEF(Chromium Embedded Framework)源码下载编译详细记录

    Linux CEF(Chromium Embedded Framework)源码下载编译 由于CEF默认的二进制分发包不支持音视频播放,需要自行编译源码,将ffmpeg开关打开才能支持。这里介绍的是Linux平台下的CEF源码下载编译过程。 Windows平台参考: 《Windows 编译CEF源码详细记录》 下载的过程非常艰辛,因为硬性要

    2024年02月14日
    浏览(52)
  • mac 编译问题记录

    1、mac 编译提示 Unsupported option ‘--no-pie‘ Linux 上用 --no-pie mac 上用 -no-pie 2、mac 找不到 malloc.h 使用 Mac上使用malloc函数报错_mac malloc.h-CSDN博客

    2024年02月07日
    浏览(30)
  • 记LGSVL本地编译记录

    主要的编译参考来着官方文件 安装unity hub 安装2020.3.3f1在unity hub上 但是我发现没有2020.3.3f1,只有2020.3.3f1c1,其实c1就是中国版,没有什么影响 安装GIT 安装Git LFS 验证git-lfs(输出Git LFS initialized就🆗了) 官方: 打开终端并导航到要将模拟器下载到的位置 如果你想模拟器在你的

    2024年02月09日
    浏览(35)
  • mac 反编译apk记录

    Mac/Linux 去release页下载,有中国下载地址能下载快些。 之后便可以在任何目录执行下面的命令反编译 *.apk/*.aar/*.dex/*.jar 文件,反编译完成后图形界面会自动打开。 结果如下  

    2024年02月05日
    浏览(30)
  • telegraf 编译安装以及问题记录

    代码下载: 直接编译: 编译报错问题列表 问题1: 解决方法:直接替换go.sum里面的h1 问题2 解决方法:设置代理 问题3 执行命令读取配置,发生错误 问题定位:telegraf.conf配置文件错误,建议重新生成新的配置文件;

    2024年02月11日
    浏览(35)
  • vivado编译报错记录

    此篇文章是我在使用vivado编写verilog时遇到的编译报错记录,并附带参考解决方案,持续更新~ [DRC NSTD-1] 此报错是因为在约束文件中对IO工作电压没有明确定义,解决方案[DRC NSTD-1] [Synth 8-434] 此报错是因为一个触发器不能同时是边缘触发和电平触发,解决方案[Synth 8-434] [Common

    2023年04月17日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包