2016-07-31 2 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こんにちは。それをクロスコンパイラへのパスに設定する必要があります。そうでなければ、正しい名前のマングリングを提供できないため、(すべてではないにしても)いくつかのメソッドが見つかりません " –

関連する問題