2016-07-31 70 views
0

我写了一个小节点C++插件。在Linux上,我可以编译和使用它(在node-gyp的帮助下)。但现在我想测试我的手机上的插件(armv7),所以我编译并使用交叉编译器libv8.solibnode.soarm architecture)链接它,然后将其推入手机。如何交叉编译armv7上的节点C++插件?

但在adb shell我使用时出现错误信息:

node: symbol lookup error: /bitmap.node: undefined symbol: 
_ZN6bitmap9ImageData4InitEN2v85LocalINS1_6ObjectEEE 

这意味着bitmap::ImageData::Init(v8::Local<v8::Object>)无法找到...

为什么,我应该怎么解决呢?先谢谢你!

+0

我刚刚创建了一个当前方法的概述(请参阅编译一节):[在Android上运行NodeJS的可行选项(2017年8月)](https://stackoverflow.com/a/45649995/8295283) –

回答

0

我只是在调用node-gyp -arch=arm ...之前设置适当的CXX环境变量,它的工作原理!

+0

请您详细说明一下您如何设置这些CXX环境变​​量以及如何设置?谢谢:) – FMA

+0

@FMA嗨。您应该将其设置为交叉编译器的路径,否则其他人不能提供正确的名称修改,以便某些方法(如果不是全部)“无法找到” –