依存関係としてtesseractライブラリを持つ単純なノードアドオンを作成しようとしていますが、私はC++の初心者です。 https://github.com/q-nick/node-tesseractnode-gypビルドプロセスにtesseractライブラリを含めるには
binding.cc:
#include <node.h>
#include <v8.h>
// #include <tesseract/baseapi.h>
// #include <leptonica/allheaders.h>
void Method(const v8::FunctionCallbackInfo<v8::Value>& args) {
v8::Isolate* isolate = args.GetIsolate();
args.GetReturnValue().Set(v8::String::NewFromUtf8(isolate, "world"));
}
void init(v8::Local<v8::Object> exports) {
NODE_SET_METHOD(exports, "hello", Method);
}
NODE_MODULE(NODE_GYP_MODULE_NAME, init)
がbinding.gyp: - それはhttps://cppan.org/
だ{
"targets": [
{
"target_name": "binding",
"sources": [
"src/binding.cc"
],
'defines': [ 'V8_DEPRECATION_WARNINGS=1' ],
'include_dirs': [
],
'libraries': [
# '-lpvt.cppan.demo.google.tesseract.libtesseract',
# '-lleptonica'
]
}
]
}
私はたTesseract、leptonicaのような依存関係をコンパイルする私を助けることができるプロジェクトを見つけた時 コード全体
残念ながら、これをnode-gypビルドプロセスとどのように接続するかはわかりません。私は私のノードアドオンやたTesseractなどのすべての依存関係を(構築したい
dependencies:
pvt.cppan.demo.google.tesseract.libtesseract: master
pvt.cppan.demo.danbloomberg.leptonica: 1
:CPPANは1つの設定は、それがcppan.yml(NPMでpackage.jsonのようなもの)
cppan.ymlという名前のファイルました)を1つのコマンドで実行します。また、ノードコンパイルのC++依存関係をリンクする方法がわからない
最新のtesseractバージョンを使用したいので、コンパイル済みのライブラリを使用できません。現在、私はWindows環境で作業していますが、クロスプラットフォームプロセスにしたいと考えています。
私の例GitHubプロジェクト(https://github.com/q-nick/node-tesseract)は、tesseractインクルードのコメントを外してから正常にコンパイルする必要があります。
これ以外の簡単な方法がある場合は、これを実現する方法を教えてください。
&これはあなたのために.nodeを構築していますか? すべてのC++ソースを追加すると、node.js用のスタンドアロンの実行可能ファイルを作成するのはすばらしくすべきです – nodeover