行业知识
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的代码真的问题好多。。。
开发环境
为啥要把开发环境放在第一位呢,这里面也是采了无数的坑。
开发工具 版本 Ubuntu 18.04 emscripten 3.1.55 cmake 3.28.3 opencv 3.2.0 安装opencv环境
- 安装
sudo apt-get updatesudo apt-get install libopencv-dev
- 查看opencv的lib目录
dpkg -L libopencv-dev
- 配置环境变量
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
- 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
上一篇:揭秘手机玩转网页小游戏源码秘籍!