如何将tesseract库包含在node-gyp构build过程中

我试图创build简单的节点插件与tesseract库作为依赖,但我是一个C ++初学者。 整个代码在: https : //github.com/q-nick/node-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:

 { "targets": [ { "target_name": "binding", "sources": [ "src/binding.cc" ], 'defines': [ 'V8_DEPRECATION_WARNINGS=1' ], 'include_dirs': [ ], 'libraries': [ # '-lpvt.cppan.demo.google.tesseract.libtesseract', # '-lleptonica' ] } ] } 

我find了一个项目,可以帮助我编译像tesseract,leptonica这样的依赖项 – 它是https://cppan.org/

不幸的是,我无法弄清楚 – 如何将其与node-gyp构build过程连接起来。 CPPAN有一个名为cppan.yml的configuration文件(类似于npm中的package.json)

cppan.yml:

 dependencies: pvt.cppan.demo.google.tesseract.libtesseract: master pvt.cppan.demo.danbloomberg.leptonica: 1 

我想通过一个命令构build我的节点插件和所有依赖关系(如tesseract)。 而且不知道如何链接node-gyp构build中的c ++依赖关系

我想使用最新的tesseract版本,所以我不能使用预编译的库。 目前,我在Windows环境下工作,但我希望它是一个跨平台的过程。

我的示例GitHub项目( https://github.com/q-nick/node-tesseract )必须在取消注释tesseract包括后成功编译。

如果还有其他一些简单的方法如何做到这一点,请分享。

我想要它!

解决scheme是将所有c ++ tesseract代码构build为依赖关系! (和leptonica),所以第一个是试图知道如何build立tesseract(哪些参数,variables,定义…)只是检查这个例如: https : //github.com/istex/popplonode/blob/master/binding .gyp在lib文件夹中有一个依赖文件poppler。

这可能可以一起工作!