如何在安装“ opencv4nodejs”模块期间修复错误

时间:2019-09-09 06:32:41

标签: c++ node.js opencv gcc cmake

嗨,我正在尝试在Node.js项目中使用opencv,因此我决定使用opencv4nodejs。因此,我使用brew安装了安装上述模块所需的cmake。但是,当我尝试安装opencv4nodejs时,会发生以下错误:

...
...
...
Scanning dependencies of target opencv_text
[ 84%] Building CXX object modules/text/CMakeFiles/opencv_text.dir/src/erfilter.cpp.o
[ 84%] Building CXX object modules/tracking/CMakeFiles/opencv_tracking.dir/src/feature.cpp.o
In file included from /Users/iwanowicz/Documents/testApp/node_modules/opencv-build/opencv/opencv_contrib/modules/text/src/erfilter.cpp:43:
In file included from /Users/iwanowicz/Documents/testApp/node_modules/opencv-build/opencv/opencv_contrib/modules/text/src/precomp.hpp:54:
In file included from /usr/local/include/tesseract/baseapi.h:26:
In file included from /usr/local/include/tesseract/apitypes.h:23:
/usr/local/include/tesseract/publictypes.h:33:1: error: unknown type name 'constexpr'
constexpr int kPointsPerInch = 72;
^
/usr/local/include/tesseract/publictypes.h:33:11: error: expected unqualified-id
constexpr int kPointsPerInch = 72;
          ^
/usr/local/include/tesseract/publictypes.h:38:1: error: unknown type name 'constexpr'
constexpr int kMinCredibleResolution = 70;
^
/usr/local/include/tesseract/publictypes.h:38:11: error: expected unqualified-id
constexpr int kMinCredibleResolution = 70;
          ^
/usr/local/include/tesseract/publictypes.h:40:1: error: unknown type name 'constexpr'
constexpr int kMaxCredibleResolution = 2400;
^
/usr/local/include/tesseract/publictypes.h:40:11: error: expected unqualified-id
constexpr int kMaxCredibleResolution = 2400;
          ^
/usr/local/include/tesseract/publictypes.h:45:1: error: unknown type name 'constexpr'
constexpr int kResolutionEstimationFactor = 10;
^
/usr/local/include/tesseract/publictypes.h:45:11: error: expected unqualified-id
constexpr int kResolutionEstimationFactor = 10;
          ^
In file included from /Users/iwanowicz/Documents/testApp/node_modules/opencv-build/opencv/opencv_contrib/modules/text/src/erfilter.cpp:43:
In file included from /Users/iwanowicz/Documents/testApp/node_modules/opencv-build/opencv/opencv_contrib/modules/text/src/precomp.hpp:54:
In file included from /usr/local/include/tesseract/baseapi.h:30:
In file included from /usr/local/include/tesseract/resultiterator.h:27:
In file included from /usr/local/include/tesseract/ltrresultiterator.h:27:
/usr/local/include/tesseract/unichar.h:171:8: error: function definition does not declare parameters
  char chars[UNICHAR_LEN]{};
       ^
/usr/local/include/tesseract/unichar.h:60:12: error: use of undeclared identifier 'chars'
    memset(chars, 0, UNICHAR_LEN);
           ^
/usr/local/include/tesseract/unichar.h:78:15: error: use of undeclared identifier 'chars'
    int len = chars[UNICHAR_LEN - 1];
              ^
/usr/local/include/tesseract/unichar.h:84:12: error: use of undeclared identifier 'chars'
    return chars;
           ^
In file included from /Users/iwanowicz/Documents/testApp/node_modules/opencv-build/opencv/opencv_contrib/modules/text/src/erfilter.cpp:43:
In file included from /Users/iwanowicz/Documents/testApp/node_modules/opencv-build/opencv/opencv_contrib/modules/text/src/precomp.hpp:54:
In file included from /usr/local/include/tesseract/baseapi.h:30:
/usr/local/include/tesseract/resultiterator.h:103:63: error: a space is required between consecutive right angle brackets (use '> >')
  virtual std::vector<std::vector<std::pair<const char*, float>>>*
                                                              ^
In file included from /Users/iwanowicz/Documents/testApp/node_modules/opencv-build/opencv/opencv_contrib/modules/text/src/erfilter.cpp:43:
In file included from /Users/iwanowicz/Documents/testApp/node_modules/opencv-build/opencv/opencv_contrib/modules/text/src/precomp.hpp:54:
In file included from /usr/local/include/tesseract/baseapi.h:31:
/usr/local/include/tesseract/serialis.h:43:1: error: unknown type name 'constexpr'
constexpr size_t countof(T const (&)[N]) noexcept {
^
/usr/local/include/tesseract/serialis.h:43:17: error: expected ';' at end of declaration
constexpr size_t countof(T const (&)[N]) noexcept {
                ^
/usr/local/include/tesseract/serialis.h:43:18: error: C++ requires a type specifier for all declarations
constexpr size_t countof(T const (&)[N]) noexcept {
                 ^
/usr/local/include/tesseract/serialis.h:43:26: error: use of undeclared identifier 'T'
constexpr size_t countof(T const (&)[N]) noexcept {
                         ^
/usr/local/include/tesseract/serialis.h:43:41: error: expected ';' after top level declarator
constexpr size_t countof(T const (&)[N]) noexcept {
                                        ^
/usr/local/include/tesseract/serialis.h:55:40: error: unknown type name 'size_t'
bool DeSerialize(FILE* fp, char* data, size_t n = 1);
                                       ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [modules/text/CMakeFiles/opencv_text.dir/src/erfilter.cpp.o] Error 1
make[1]: *** [modules/text/CMakeFiles/opencv_text.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 84%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/dls.cpp.o


ld: warning: building for macOS, but linking in object file (../../3rdparty/ippicv/ippicv_mac/icv/lib/intel64/libippicv.a(pscopye9as_l9.o)) built for 
[ 89%] Built target opencv_calib3d
make: *** [all] Error 2
ERR! child process exited with code 2 (for more info, set '--loglevel silly') 
npm WARN testapp@1.0.0 No description
npm WARN testapp@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! opencv-build@0.1.9 install: `node ./install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the opencv-build@0.1.9 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/iwanowicz/.npm/_logs/2019-09-09T06_14_39_892Z-debug.log

据我了解,building(?)opencv存在一些问题,但我找不到解决方案。

您能帮我完成opencv4nodejs的安装过程吗?

0 个答案:

没有答案