我正在尝试在基于 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());*
有谁知道这是怎么回事,我该怎么办?多谢!!