Open ZXMeloman opened 6 years ago
I believe you did not successfully apply the emscripten patch described in the readme. That patch fixes the number of base template arguments. Alternatively, instead of using this library, you can build from the emscripten project included in opencv itself (https://docs.opencv.org/3.3.1/d5/d10/tutorial_js_root.html). This works without patching emscripten.
Thanks, for your answer. Under the instruction to opencv from docs.opencv.org me it was not possible to promote even on one step. Emscripten has given out the following:
WindowsError: [Error 193] %1 эх ты хЄё яЁшыюцхэшхь Win32
Though it also does not concern this branch.
About a patch you are absolutely right, it was not possible to me (I has not understood as) it to apply under windows:
"patch" is not internal or external The command executed by the program or a package file.
I thank for the help.
I agree that compiling under Windows this is a nightmare for a beginner, both the patching as well as the emscripten compilation. After many hours of failing, I ended up using a virtual machine (virtualbox), I installed Ubuntu 16.04. Then, you can just follow the instructions on the opencv webpage. Moreover, you dont have to build emscripten, which was taking many hours for me, as this is already available in a compiled version for Ubuntu. Installing the virtual machine and compiling opencv took less than one hour, I believe...
It is a pity that the question with use Windows was not resolved. But I have a free car with Ubuntu. I will try on it. Thanks for consultation.
Hello. At a stage "Stage 3: Generating Bindings" there is an error: "ERROR:root:compiler frontend failed to generate LLVM bitcode, halting". Here a broad gull of errors: `Stage 3: Generating Bindings
../../bindings.cpp:3271:39: error: too many template arguments for class template 'base' emscripten::class_<cv::Feature2D ,base<Algorithm ,true>>("Feature2D") ^
emscripten.Building.emcc('../../bindings.cpp', emcc_binding_args, 'bindings.
bc')
File "D:/Work/TEMP_PROJECT/openCVjs/emsdk-portable-64bit/e
mscripten/1.37.22\tools\shared.py", line 1996, in emcc
assert os.path.exists(output_filename), 'emcc could not create output file:
' + output_filename
AssertionError: emcc could not create output file: bindings.bc`
~~ D:\Work\TEMPPROJECT\openCVjs\emsdk-portable-64bit\emscripte n\1.37.22\system\include\emscripten/bind.h:1034:12: note: template is declared here struct base { ^ ../../bindings.cpp:3271:62: error: expected unqualified-id emscripten::class<cv::Feature2D ,base<Algorithm ,true>>("Feature2D") ^ ../../bindings.cpp:3271:62: error: expected ')' ../../bindings.cpp:3271:61: note: to match this '(' emscripten::class_<cv::Feature2D ,base<Algorithm ,true>>("Feature2D") ^ 3 errors generated. ERROR:root:compiler frontend failed to generate LLVM bitcode, halting Traceback (most recent call last): File "make.py", line 183, inHere a broad gull from "emsdk list": `The following precompiled tool packages are available for download: clang-nightly-e1.37.9-2017_04_19_23_39-64bit clang-nightly-e1.37.9-2017_04_20_04_06-64bit clang-e1.30.0-64bit clang-e1.34.1-64bit clang-e1.35.0-64bit clang-e1.37.1-64bit clang-e1.37.21-64bit
The following tools can be compiled from source: clang-tag-e1.37.21-32bit clang-tag-e1.37.22-32bit clang-tag-e1.37.21-64bit clang-tag-e1.37.22-64bit clang-incoming-32bit clang-incoming-64bit clang-master-32bit clang-master-64bit emscripten-tag-1.37.21-32bit emscripten-tag-1.37.22-32bit emscripten-tag-1.37.21-64bit emscripten-tag-1.37.22-64bit binaryen-tag-1.37.21-32bit binaryen-tag-1.37.22-32bit binaryen-tag-1.37.21-64bit binaryen-tag-1.37.22-64bit emscripten-incoming-32bit emscripten-master-32bit emscripten-incoming-64bit emscripten-master-64bit binaryen-master-32bit binaryen-master-64bit
The following precompiled SDKs are available for download: (Run "./emsdk update" to pull in the latest list) sdk-nightly-1.37.9-2017_04_19_23_39-64bit sdk-nightly-1.37.9-2017_04_20_04_06-64bit sdk-1.30.0-64bit sdk-1.34.1-64bit sdk-1.35.0-64bit sdk-1.37.1-64bit sdk-1.37.21-64bit
The following SDKs can be compiled from source: sdk-incoming-32bit sdk-incoming-64bit sdk-master-32bit sdk-master-64bit sdk-tag-1.37.21-32bit sdk-tag-1.37.22-32bit sdk-tag-1.37.21-64bit sdk-tag-1.37.22-64bit
Items marked with * are activated for the current user.
To access the historical archived versions, type 'emsdk list --old' ` I the beginner in it. I want to expand the experience, having studied this library. But it is impossible to compile. I will be grateful for any help.