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

Linux下编译lib-artnet-4-cpp

一、Art-Net简介

Art-Net是一种通信协议,用于通过UDP传输DMX512-A照明控制协议和远程设备管理(RDM)协议。该协议用于实现“节点”(如智能照明设备)与“服务器”(运行照明控制软件的调光台或通用计算机)之间的通信,广泛应用于灯光控制及以太网DMX应用场景。

二、lib-artnet-4-cpp简介

lib-artnet-4-cpp是Art-Net 4协议的现代C++(C++17)实现,该库提供了一种基于Art-Net协议的稳健高效通信方式。其github地址为:https://github.com/gastonmorixe/lib-artnet-4-cpp

三、下载编译lib-artnet-4-cpp

首先从 https://github.com/gastonmorixe/lib-artnet-4-cpp 下载lib-artnet-4-cpp源码,拷贝到Linux系统中,解压缩,进入源码目录。

执行cmake:

cmake . -DCMAKE_INSTALL_PREFIX=$(pwd)/install

可能会报错:“CMake 3.31.2 or higher is required...”:

这是因为lib-artnet-4-cpp需要3.31.2或更高版本的cmake来生成makefile,如果报上述错误,修改CMakeLists.txt。将“cmake_minimum_required(VERSION 3.31.2)”这一行修改为“cmake_minimum_required(VERSION XXX)”,其中XXX为你电脑上安装的cmake的版本号。

修改完成后重新执行“cmake . -DCMAKE_INSTALL_PREFIX=$(pwd)/install”,如果没有报错并且生成了makefile,说明cmake执行成功了。

编译:

make

如果报错:“sys/_endian.h:没有那个文件或目录”

修改源文件artnet/ArtNetController.cpp,将“#include <sys/_endian.h>”这一行修改为:“#include <endian.h>”。

重新编译,如果还是报错:

头文件artnet/artnet_types.h增加一行:“#include <cstring>”

重新通过make命令编译,应该就可以发现编译成功了。但由于lib-artnet-4-cpp的特性,是没办法make install的:

所以不需要make install,只要进行make后,artnet目录下就生成了libartnet.a,该文件是lib-artnet-4-cpp的库文件。artnet目录下的.h文件是lib-artnet-4-cpp的头文件。所以要想使用lib-artnet-4-cpp只要包含这些库文件和头文件就可以了:

artnet目录的example目录下生成的就是lib-artnet-4-cpp的例程:

http://www.dtcms.com/a/537883.html

相关文章:

  • 哪些网站适合做外贸网站推广apm安装wordpress网页无法访问
  • 网站建设所有软件清单苏州制作手机网站
  • 免费的舆情网站不需下载有没有免费的网站推销产品
  • 搭建网站商城去哪个网站可以做写手
  • 【Python刷力扣hot100】42. Trapping Rain Water
  • 吉林建设厅官方网站科技部网站建设合同范本
  • 提示词设计
  • 如何进行高效搜索(ripgrep)?
  • 项目网络网站优化协议
  • 长沙需要做网站的企业浙江省建设信息港网
  • 2025残保金申报进入最后“窗口期”!各地征收截止日期明确,逾期后果很严重
  • 德州手机网站建设做代销的网站
  • 怎么用新浪云做网站在建设银行网站上买卖贵金属
  • uni-app Google登录
  • Linux进程:进程地址空间(一)
  • 详解 TCP 通信中的序列化与反序列化:从登录场景谈起
  • 注册会计师协会成都网站搜索排名优化哪家好
  • C# 中的 DateTime.Now.ToString() 方法支持多种预定义的格式字符
  • Three.js 实现 3d 面积图
  • QtQuick3D入门(4):天空盒
  • 自己做网站要不要租服务器做的比较好的p2p网站
  • 动态规划算法
  • ABAP_FICO替代不生效问题解决
  • seo sem论坛已有的网站如何做排名优化
  • python 网站架构做外发的网站
  • 乐清做网站的php网站忘记后台密码
  • 软件开发专业都学什么seo网站内部优化
  • 开发一款工业水泵控制移动终端APP应用
  • 英一2013年真题学习笔记
  • 数据集划分示例代码(图片、txt标注文档)