libArcus下载和编译

libArcus下载和编译

简介

该库包含C ++代码和Python3绑定,用于在线程中创建套接字,并使用该套接字基于协议缓冲区库发送和接收消息。 它旨在促进Cura及其后端与类似代码之间的通信

套接字假定一个非常简单且严格的有线协议:一个带标头的32位整数,一个带消息大小的32位整数,一个带类型id的32位整数,然后是包含由Protobuf序列化的消息的字节数组。接收方检查这些字段,并将对消息进行反序列化,然后由应用程序对其进行处理。

要发送或接收消息,首先需要在两侧注册该消息,并调用registerMessageType()。您还可以通过调用registerAllMessageTypes()来注册Protobuf .proto文件中的所有消息。对于Python绑定,这是唯一受支持的注册方式,因为没有针对单个消息类型的Python类。

除了缺少registerMessageType()和单个消息外,Python绑定公开了与Public C ++ API相同的API。 Python绑定将消息包装在一个类中,该类将消息的属性公开为Python属性,因此可以通过与设置任何其他Python属性相同的方式进行设置。

例外是重复的字段。当前,仅支持重复的消息,可以通过addRepeatedMessage()方法创建消息。 repeatMessageCount()将返回对象上重复消息的数量,getRepeatedMessage()将获得重复消息的特定实例。有关更多详细信息,请参见python / PythonMessage.h。

下载

libArcus是开源的,所以首推在github下载,没有必要去乱七八糟的网站去找,并且这里的版本也是最新的,最全的,下载链接
https://github.com/Ultimaker/libArcus,一般,我们会下载最新的版本,通过git下载也可以直接在网站上下载zip文件。这里是下载4.9版本的zip的方式
在这里插入图片描述

编译

准备

1.解压下载的源码
2.在源码同级目录新建build和install目录
在这里插入图片描述

配置项目

打开Cmake,配置libarcus源码目录和build目录,点击config
在这里插入图片描述
config会弹出中间的小对话框,选择自己的vs版本,注意滴第5个地方,这里有的cmake版本默认是32位的,根据自己需要使用的平台进行选择,我这里是64位的。然后点击finish。
这个时候应该会抱一个错,不用在意,关闭窗口,这个时候我们需要配置一些其他的东西。
在这里插入图片描述

第一次执行完成之后,界面应该是这样的,我们需要去掉1的选项,然后点击2,开启高级配置,这样protocol的详细配置才会出现
在这里插入图片描述
分别配置好这些文件的目录就可以了
在这里插入图片描述
配置完成基本是这个样子的,黄色框里面是下载的protocol buffer的源码的文件夹,也就是src的上一级
在这里插入图片描述
修改install prefix可以方便我们文件管理,需要的话可以修改,非必要修改,然后点击config和genrate
在这里插入图片描述
这个是好build目录下就有一个工程目录arcus.sln,剩下的就交给vs了
在这里插入图片描述

编译

打开工程文件一次编译all_build和install.
在这里插入图片描述

编译的时候可能会出现错误unresolved external symbol default_recursion_limit_,找不到protobuf的链接,这个时候只需要在arcus工程配置,添加一个定义PROTOBUF_USE_DLLS,就可以了。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012505629/article/details/115445980