You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Emscripten&CMake编译OpenCV Core和ImgProc失败求助

编译OpenCV core/imgproc模块到WASM的问题(Windows 11 MINGW64环境)

问题场景

在Windows 11的MINGW64(bash)环境下,尝试用自定义emcmake命令仅编译OpenCV的core和imgproc模块,执行emmake ninja install时触发WASM废弃关键字报错。同时尝试官方build_js.py脚本编译也失败,推测是Windows环境问题,正切换到WSL,求可行的仅编译core+imgproc的步骤(排除官方预编译4.x版本OpenCV.js)。

所用编译命令

emcmake cmake -G Ninja -S statics/opencv -B statics/opencv/static_build -D BUILD_SHARED_LIBS=OFF -D CMAKE_C_COMPILER=emsdk/upstream/emscripten/emcc -D CMAKE_CXX_COMPILER=emsdk/upstream/emscripten/em++ -D CMAKE_MAKE_PROGRAM=C:/ninja-win/ninja.exe -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=statics/opencv/static_build/install -D BUILD_SHARED_LIBS=OFF -D BUILD_opencv_gapi=OFF -D WITH_IPP=OFF -D BUILD_opencv_dnn=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D WITH_1394=OFF -D WITH_CUDA=OFF -D WITH_FFMPEG=OFF -D WITH_GSTREAMER=OFF -D WITH_GTK=OFF -D WITH_JPEG=OFF -D WITH_PNG=OFF -D WITH_TIFF=OFF -D WITH_WEBP=OFF -D WITH_OPENCL=OFF -D WITH_OPENGL=OFF -D WITH_QT=OFF -D WITH_VTK=OFF -D WITH_LAPACK=OFF -D BUILD_opencv_videoio=OFF -D BUILD_opencv_highgui=OFF -D BUILD_opencv_ml=OFF -D BUILD_opencv_photo=OFF -D BUILD_opencv_video=OFF -D BUILD_opencv_calib3d=OFF -D BUILD_opencv_features2d=OFF -D BUILD_opencv_flann=OFF -D BUILD_opencv_objdetect=OFF -D WITH_ITT=OFF -D WITH_JPEG2000=OFF -D ENABLE_PIC=OFF -D WITH_ZLIB=ON

报错信息

opencv/modules/core/include\opencv2/core/hal/intrin_wasm.hpp:2088:18: warning: 'wasm_v8x16_shuffle' is deprecated: use 'wasm_i8x16_shuffle' instead [-W#pragma-messages]
2088 |     v128_t t10 = wasm_v8x16_shuffle(t00, t01, 0,1,2,3,12,13,14,15,24,25,26,27,4,5,6,7);
     |                  ^
opencv/modules/core/include\opencv2/core/hal/intrin_wasm.hpp:2728:22: warning: 'wasm_v8x16_shuffle' is deprecated: use 'wasm_i8x16_shuffle' instead [-W#pragma-messages]
2728 |     return v_int16x8(wasm_v8x16_shuffle(vec.val, vec.val, 0,1,2,3,5,8,9,10,11,12,13,14,15,6,7));
     |                      ^
emsdk\upstream\lib\clang\20\include\wasm_simd128.h:1746:3: note: expanded from macro 'wasm_v8x16_shuffle'
1746 |   __DEPRECATED_WASM_MACRO("wasm_v8x16_shuffle", "wasm_i8x16_shuffle")
     |   ^          
emsdk\upstream\lib\clang\20\include\wasm_simd128.h:1687:3: note: expanded from macro '__DEPRECATED_WASM_MACRO'
1687 |   _Pragma(__WASM_STR(GCC warning(                                            
     |   ^
:3:6: note: expanded from here
3 |  GCC warning( "'" "wasm_v8x16_shuffle" "' is deprecated: use '" "wasm_i8x16_shuffle" "' instead")
  |
more warnings (186) errors (9).

已尝试的操作

  • 未采用手动替换废弃关键字的方案
  • 尝试使用opencv/platforms/js/build_js.py脚本编译OpenCV.js,因脚本自动附加的-G Ninja标志报错,修改脚本兼容后仍失败,推测是Windows系统环境导致

求助需求

求能成功仅编译OpenCV core和imgproc模块的步骤,排除官方预编译的4.x版本OpenCV.js。

内容的提问来源于stack exchange,提问作者Nathan Potter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 07:08:21