程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何将整个openCV库构建成静态库? 下载大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何将整个openCV库构建成静态库? 下载?

开发过程中遇到如何将整个openCV库构建成静态库? 下载的问题如何解决?下面主要结合日常开发的经验,给出你关于如何将整个openCV库构建成静态库? 下载的解决方法建议,希望对你解决如何将整个openCV库构建成静态库? 下载有所启发或帮助;

我想把整个 openCV 库构建成一个像 opencv.a 这样的文件。我正在尝试使用 .a 二进制文件与我使用 openCV 库制作的 cpp 代码链接在一起,使用 emscripten 制作单个 wasm 文件。

基本上我想做的是将我制作的使用 openCV 库的 cpp 应用程序编译成 webassembly,以便我可以在浏览器中运行它。我在其他帖子中读到,这样做的方法是将 openCV 作为 .a 文件获取,然后使用 emscripten 将其与我的 cpp 代码链接。

有关如何生成 .a 文件的详细说明将不胜感激。请理解,我不是 cpp 开发人员,而且我对使用编译它的构建工具一无所知。

谢谢。

解决方法

构建 OpenCV 静态库

我认为可以将整个 OpenCV 库构建为一个大型静态库。但是强烈建议为细粒度的编译构建单个和分离的静态库。 OpenCV 项目的某些部分也很难用 Emscripten 编译。如果您只想使用一组 OpenCV 函数呢?最终的 .js 或 .wasm 文件会太大。

示例 opencv-em

我们执行此脚本 opencv-em 来构建项目所需的一组静态库。它构建静态库并打包所需的包含目录。

步骤构建说明

我们已经设置了一个 sHell build 脚本。我们使用 cmake 进行编译,因为 OpenCV 项目目录中存在 CMakeLists.txt,这大大简化了事情:

 cmake .. -GNinja -DCMAKE_TOOLCHAIN_FILE=$EM_TOOLCHAIN $OPENCV_CONF $OPENCV_INTRINSICS -DCMAKE_CXX_FLAGS="$EM_FLAGS" -DCMAKE_C_FLAGS="$EM_FLAGS"

我们使用 Ninja 作为编译器,但您可以使用 make。

-DCMAKE_TOOLCHAIN_FILE=$EM_TOOLCHAIN

在这种情况下定义工具链 Emscripten:

EM_TOOLCHAIN="$EMSCRIPTEN/cmake/Modules/Platform/Emscripten.cmake"

您当然需要使用 emsdk 安装 Emscripten。

OPENCV_CONF 是您定义要构建的库以及要包含和排除的必要文件的变量(这非常重要!) 另请注意,编译可能因 Emscripten 和 OpenCV 版本而异!

下载

如果您愿意,可以在发布页面下载 libs。阅读使用的 Emscripten 和 OpenCV 版本。

大佬总结

以上是大佬教程为你收集整理的如何将整个openCV库构建成静态库? 下载全部内容,希望文章能够帮你解决如何将整个openCV库构建成静态库? 下载所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:下载