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

运行OpenCV的build_js文件时出现Error 193问题求助

解决OpenCV.js编译时的Error 193问题

我之前帮不少开发者排查过OpenCV 3.4.1编译JavaScript版本时遇到的Error 193问题,虽然你已经确认emsdk是64位的,但还是有几个容易被忽略的细节可以逐一排查:

  • 先检查Python版本的位数
    很多人会忽略这一点:即使emsdk是64位,如果你的Python是32位的,运行build_js.py时就会触发Error 193。你可以打开命令行输入以下命令验证:

    python -c "import struct; print(struct.calcsize('P') * 8)"
    

    如果输出是32,说明你用的是32位Python,赶紧换成64位的同版本(OpenCV 3.4.1建议搭配Python 3.6-3.8之间的版本,兼容性更好)。

  • 清理编译缓存,从头开始编译
    之前的编译残留(比如不小心生成的32位临时文件)可能会干扰新的编译流程。你可以:

    1. 进入OpenCV源码目录,找到build_js文件夹(如果没有就手动创建)
    2. 删除该文件夹下的所有内容
    3. 重新运行编译命令:python build_js.py --build_dir build_js,确保从头开始构建。
  • 确保emsdk环境变量正确加载
    有时候环境变量配置会出问题,导致实际调用的还是旧的32位工具链。可以按以下步骤操作:

    1. 关闭所有已打开的命令行窗口,避免残留的环境变量影响
    2. 进入emsdk的安装目录,运行emsdk activate 1.38.40(这个版本和OpenCV 3.4.1兼容性最好,最新版emsdk可能会有适配问题)
    3. 运行emsdk_env.bat(Windows系统)或者source emsdk_env.sh(Linux/macOS)来加载正确的环境变量
    4. 再切换到OpenCV源码目录执行编译命令。
  • 强制指定64位编译架构
    可以在编译时手动给cmake传递64位架构参数,避免默认选择错误:

    python build_js.py --build_dir build_js --cmake_options "-DCMAKE_SYSTEM_PROCESSOR=x86_64"
    
  • 排查第三方依赖的位数(如果有自定义依赖)
    如果你在编译时添加了第三方依赖(比如ffmpeg),一定要确保这些依赖也是64位版本。如果是默认的无额外依赖编译,这个问题概率很低,但还是可以排查一下。

内容的提问来源于stack exchange,提问作者sankalp chari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:16:20