小工具知识网

当前位置: 首页 > 行业知识 > WebAssembly探索篇(三)emcc和cmake编译opencv案例

行业知识

WebAssembly探索篇(三)emcc和cmake编译opencv案例

2026-11-16 00:21:14 来源:互联网转载

文章目录

  • 开发环境
    • 安装opencv环境
    • 实践出真知
      • 完整项目
      • 效果图
      • 踩坑
        • fatal error: 'opencv2/opencv.hpp' file not found
          • 增加软链ln(无效)
          • 改用自行安装opencv,再显示指定lib路径
          • emcc命令行运行方式

                最近因为项目原因,研究了一下WebAssembly。2015年上线与JS、HTML、CSS并称web界四语言,额,虽然已经上线快10年,但是研究的人好少,注定这个探索之路是崎岖的。(事实也是这样,已经耗进去快2周了,人都麻了-_-||)

                这是一个曲折的探索之路,emcc编译opencv的代码真的问题好多。。。

            开发环境

            为啥要把开发环境放在第一位呢,这里面也是采了无数的坑。

            开发工具版本
            Ubuntu18.04
            emscripten3.1.55
            cmake3.28.3
            opencv3.2.0

            安装opencv环境

            1. 安装
            sudo apt-get updatesudo apt-get install libopencv-dev
            1. 查看opencv的lib目录
            dpkg -L libopencv-dev
            1. 配置环境变量
            export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnuexport PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATHsource ~/.bashrc

            实践出真知

            完整项目

            项目结构如下:

            ┌─demo              项目名称 │─build             编译文件(emcmake和emmake后的产物)│  └─CMakeFile       │  │  └─...      │  └─cmake_install.cmake│  └─CMakeCache.txt│  └─Makefile│  └─helloCV.js│  └─helloCV.wasm   ├─main.cpp          主入口├─CMakeLists.txt        
            1. main.cpp
            #include #include using namespace cv;int main(int argc, char **argv) {  Mat M(2, 2, CV_8UC3, Scalar(0, 0, 255));  std::cout 

上一篇:揭秘手机玩转网页小游戏源码秘籍!

下一篇:磁力下载秘籍,电脑端高效下载技巧全解析!