2016-08-31 5 views
-1

電子のためのC++ネイティブ拡張を構築したいと思います。
私はhelloサンプルから始めました。ノードライブラリとサンプルをビルドし、ノード(v4.5.0)で正常にテストしました。
電子で使うには、電子V8のバージョンに対してビルドする必要があります。私は、ノードのライブラリーを構築するために、このguideに続く:私はMSVCのVS2015のプロジェクトを生成したが、私はこのエラーを取得するビルドするとき:electron.atom.ioのネイティブC++拡張

\cares.vcxproj(360,5): error MSB3073: The command "call ninja.exe -C ..\..\..\..\out\Debug_x64\ cares" exited with code 1. 

そして、これはすべてのプロジェクトのために起こります。どうすれば解決できますか?

+0

興味のある方は、ninjaを単独で呼び出すことができます(さらに、より良いエラー情報を得ることができます)? – doctorlove

+0

Ops、私はパスに忍者を持っていなかった...私はvcbuild.batでnode.lib(x64)を構築することができました。ノードのヘッダーとlibを電子パスに含めましたが、実行すると「エラー:モジュールは自己登録しませんでした」と表示されます。私は私のモジュールを構築するために使用したものと同じバージョンのx64 Electron 6.3.0を事前構築しました。 –

答えて

0

ネイティブのノードモジュールをビルドするためにElectronからソースをビルドする必要はありません。over hereと同じアドバイスに従ってください。

+0

私はヒントに従っています。私はnode.lib(x64)を電子ベンダーのフォルダにvcbuild.batでビルドすることができました。私はnode-gypを使ってvcxprojフォームを自分のプロジェクトにすることができました.buiは失敗しました(node.libが見つかりませんでした)。私はvcxprojを開き、libパスを追加し、成功を収めました。そして今、電子レンダリングプロセスでネイティブC++拡張を使用できます。 –