【问题标题】:OpenCV.js custom build failed in windows machineWindows 机器中的 OpenCV.js 自定义构建失败
【发布时间】:2021-06-27 08:37:18
【问题描述】:

我正在尝试按照 Open CV [官方文档][1] 中提到的步骤构建 opencv.js。

注意:我正在尝试进行自定义构建,而不是使用现有的 [opencv.js][2] 库,因为我还想添加一些 contrib 模块。

Open CV 源码版本:4.5.1 制作:3.20.0 蟒蛇:3.7 Emscriptem:[最新][3] 操作系统:windows 64位

以下是我尝试在 windows power shell 中执行以下命令时遇到的问题的堆栈跟踪..

emcmake python ./opencv/platforms/js/build_js.py build_js

堆栈跟踪

  emcmake python ./opencv/platforms/js/build_js.py build_js
    configure: python ./opencv/platforms/js/build_js.py build_js
    Args: Namespace(build_dir='build_js', build_doc=False, build_flags=None, build_loader=False, build_perf=False, build_test=False, build_wasm=False, build_wasm_intrin_test=False, clean_build_dir=False, cmake_option=None, config='D:\\business\\Drapezy\\codetrials\\opencvjs\\opencv\\platforms\\js\\opencv_js.config.py', config_only=False, disable_wasm=False, emscripten_dir='D:\\business\\Drapezy\\codetrials\\opencvjs\\emsdk\\upstream\\emscripten', enable_exception=False, opencv_dir='D:\\business\\Drapezy\\codetrials\\opencvjs\\opencv', simd=False, skip_config=False, threads=False)
    Check dir D:\business\Drapezy\codetrials\opencvjs\build_js (create: True, clean: False)
    Check dir D:\business\Drapezy\codetrials\opencvjs\opencv (create: False, clean: False)
    Check dir D:\business\Drapezy\codetrials\opencvjs\emsdk\upstream\emscripten (create: False, clean: False)
    =====
    ===== Config OpenCV.js build for default target
    =====
    Executing: ['cmake', '-DPYTHON_DEFAULT_EXECUTABLE=C:\\Users\\girir\\AppData\\Local\\Programs\\Python\\Python37\\python.exe', '-DENABLE_PIC=FALSE', '-DCMAKE_BUILD_TYPE=Release', "-DCMAKE_TOOLCHAIN_FILE='D:\\business\\Drapezy\\codetrials\\opencvjs\\emsdk\\upstream\\emscripten\\cmake\\Modules\\Platform\\Emscripten.cmake'", "-DCPU_BASELINE=''", "-DCPU_DISPATCH=''", '-DCV_TRACE=OFF', '-DBUILD_SHARED_LIBS=OFF', '-DWITH_1394=OFF', '-DWITH_ADE=OFF', '-DWITH_VTK=OFF', '-DWITH_EIGEN=OFF', '-DWITH_FFMPEG=OFF', '-DWITH_GSTREAMER=OFF', '-DWITH_GTK=OFF', '-DWITH_GTK_2_X=OFF', '-DWITH_IPP=OFF', '-DWITH_JASPER=OFF', '-DWITH_JPEG=OFF', '-DWITH_WEBP=OFF', '-DWITH_OPENEXR=OFF', '-DWITH_OPENGL=OFF', '-DWITH_OPENVX=OFF', '-DWITH_OPENNI=OFF', '-DWITH_OPENNI2=OFF', '-DWITH_PNG=OFF', '-DWITH_TBB=OFF', '-DWITH_TIFF=OFF', '-DWITH_V4L=OFF', '-DWITH_OPENCL=OFF', '-DWITH_OPENCL_SVM=OFF', '-DWITH_OPENCLAMDFFT=OFF', '-DWITH_OPENCLAMDBLAS=OFF', '-DWITH_GPHOTO2=OFF', '-DWITH_LAPACK=OFF', '-DWITH_ITT=OFF', '-DWITH_QUIRC=ON', '-DBUILD_ZLIB=ON', '-DBUILD_opencv_apps=OFF', '-DBUILD_opencv_calib3d=ON', '-DBUILD_opencv_dnn=ON', '-DBUILD_opencv_features2d=ON', '-DBUILD_opencv_flann=ON', '-DBUILD_opencv_gapi=OFF', '-DBUILD_opencv_ml=OFF', '-DBUILD_opencv_photo=ON', '-DBUILD_opencv_imgcodecs=OFF', '-DBUILD_opencv_shape_transformer=ON', '-DBUILD_opencv_videoio=OFF', '-DBUILD_opencv_videostab=OFF', '-DBUILD_opencv_highgui=OFF', '-DBUILD_opencv_superres=OFF', '-DBUILD_opencv_stitching=OFF', '-DBUILD_opencv_java=OFF', '-DBUILD_opencv_js=ON', '-DBUILD_opencv_python2=OFF', '-DBUILD_opencv_python3=OFF', '-DBUILD_EXAMPLES=OFF', '-DBUILD_PACKAGE=OFF', '-DBUILD_TESTS=OFF', '-DBUILD_PERF_TESTS=OFF', '-DBUILD_DOCS=OFF', '-DWITH_PTHREADS_PF=OFF', '-DCV_ENABLE_INTRINSICS=OFF', '-DBUILD_WASM_INTRIN_TESTS=OFF', "-DCMAKE_C_FLAGS='-s USE_PTHREADS=0 '", "-DCMAKE_CXX_FLAGS='-s USE_PTHREADS=0 '", 'D:\\business\\Drapezy\\codetrials\\opencvjs\\opencv']
    Re-run cmake no build system arguments
    -- Detected processor: x86
    -- Looking for ccache - not found
    CMake Error at cmake/OpenCVCompilerOptimizations.cmake:593 (message):
      Compiler doesn't support baseline optimization flags:
    Call Stack (most recent call first):
      cmake/OpenCVCompilerOptions.cmake:311 (ocv_compiler_optimization_options)
      CMakeLists.txt:617 (include)
    
    
    -- Configuring incomplete, errors occurred!
    Traceback (most recent call last):
      File "./opencv/platforms/js/build_js.py", line 279, in <module>
      File "./opencv/platforms/js/build_js.py", line 192, in config
      File "./opencv/platforms/js/build_js.py", line 23, in execute
    __main__.Fail: Child returned: 1


  [1]: https://docs.opencv.org/master/d4/da1/tutorial_js_setup.html
  [2]: https://docs.opencv.org/master/opencv.js
  [3]: https://emscripten.org/docs/getting_started/downloads.html

感谢任何解决此问题的想法。

【问题讨论】:

  • Emscripten 版本可能有问题?你也试过 4.5.0 吗?

标签: opencv cmake emscripten


【解决方案1】:

至少根据this open issue,在 Windows 上构建 opencv.js 将不起作用。另一种方法是 install WSL 并使用它来构建。

【讨论】:

    猜你喜欢
    • 2019-04-08
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 2021-10-29
    相关资源
    最近更新 更多