1

我正在尝试在基于 mips 的 Ubuntu 上的电子中使用 robotjs。由于 electron 的 mips linux 版本只有 1.8.8 版本(之后不支持),所以我下载了这个 1.8.8 的 electron-mips 版本。然后,我需要安装Node,通过查看electron 1.8.8里面的node版本,发现是node8.2.1,所以我下载了这个版本的源代码,在我的mips平台上编译,好像还可以,node和npm都可以成功运行。之后,我安装libxtst-dev libpng++-dev,然后从robotjs主页下载源代码并解压到我的目录下,在这个目录下,“npm install nan”。

然后,我关注robotjs主页并尝试使用以下命令为我的平台编译它:

node-gyp rebuild --runtime=electron --target=1.8.8 --disturl=https://atom.io/download/atom-shell --abi=57

编译时总是报错(robotjs.cc, line 159): no matching function for call to v8::String::Utf8Value bstr(...)。第 447 行和第 486 行也会出现同样的错误。

我检查了robotjs.cc中的159/447/486行,它们如下:

159:    v8::String::Utf8Value bstr(v8::Isolate::GetCurrent(), Nan::To<v8::String>(info[0]).ToLocalChecked());

447:    v8::String::Utf8Value fstr(v8::Isolate::GetCurrent(), Nan::To<v8::String>(value).ToLocalChecked());

486:    v8::String::Utf8Value kstr(v8::Isolate::GetCurrent(), Nan::To<v8::String>(info[0]).ToLocalChecked());*

有谁知道这是怎么回事,我该怎么办?多谢!!

4

1 回答 1

0

当前版本的 robotsjs 将不支持早于 10.16.0 的任何内容

你需要回到这个提交并且(​​我可能已经做了几个提交太过分了)才能让它工作。https://github.com/octalmage/robotjs/commit/b26c7ee0e3dd05420370350e540c48ae9d38f06c

于 2020-01-30T09:13:45.023 回答