Elixir+MAVLink=玄学

救命,谁来救救我。。。

最近找了一个 MAVLink 的 elixir 库:
https://github.com/beamuav/elixir-mavlink

我用的是 elixir 1.17.3,导入这个库之后,不出意外的报错了。但是有一个很神奇的问题,让不信鬼神的我都想去庙里烧根香了。

由于这个库报的错有点多,于是我下载了源码下来编译。首先是有很多警告,都是由于我的 elixir 版本过高,一些被弃用的语法和函数导致的,找到发出警告的代码,一一改过来就可以了,其实也不是很多。

我们可以看下它的 mix.exs 文件,elixir 的版本还是 1.9。

接下来神奇的事情来了,解决完所有警告以后,始终有一个报错解决不了:

== Compilation error in file lib/mavlink/parser.ex ==
** (ArgumentError) lib file xmerl/include/xmerl.hrl could not be found
    (elixir 1.17.3) lib/record/extractor.ex:41: Record.Extractor.from_lib_file/1
    (elixir 1.17.3) lib/record/extractor.ex:18: Record.Extractor.from_or_from_lib_file/1
    (elixir 1.17.3) lib/record/extractor.ex:5: Record.Extractor.extract/2
    lib/mavlink/parser.ex:59: (module)

xmerl/include/xmerl.hrl 是 erlang 的 xml 库的头文件,它在 erlang 安装目录的 lib\xmerl-1.3.31\include 目录下,具体版本号跟你安装的 erlang 的版本有关。打开目录查看,这个文件是寻找的。

为了一探究竟,我们找到报错的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值