美文网首页
zxing-cpp交叉编译静态与动态库

zxing-cpp交叉编译静态与动态库

作者: 车到山前必有路2021 | 来源:发表于2020-03-11 10:09 被阅读0次

https://github.com/glassechidna/zxing-cpp

交叉编译工具链为arm-openwrt-linux-gcc,确保PATH路径中已包含其所在目录。

编译非opencv版本,下载源码后,删除opencv、opencv-cli目录。然后在CMakeLists.txt文件中将OpenCvFound相关内容注释掉(或者在cmake-gui界面配置将BUILD_BLACKBOX_TESTS以及BUILD_EXAMPLES关掉)。

使用cmake界面版本进行配置,先安装cmake:

sudo apt-get install cmake cmake-qt-gui

在CMakeLists.txt 增加如下内容(或者在cmake-gui界面配置交叉编译):

SET(CMAKE_SYSTEM_NAME Linux)

SET(CMAKE_C_COMPILER  arm-openwrt-linux-gcc)

SET(CMAKE_CXX_COMPILER arm-openwrt-linux-g++)

源码根目录下 

mkdir build

mkdir install

执行cmake-gui命令,并在界面中配置如下

CMAKE_BUILD_TYPE                Release

CMAKE_INSTALL_PREFIX        /home/dong/work/zxing-cpp/install

然后依次点击configure以及generate,生成makefile文件。

关闭界面,进入build目录后执行make && make install,即可在install文件夹下看到编译结果。

编译成功后即可得到libzxing.a静态库文件,如需编译动态库,将CMakeLists.txt文件中

add_library(libzxing  ${LIBZXING_FILES}) 改为

add_library(libzxing SHARED ${LIBZXING_FILES})

然后重复如上configure gernerate make make install步骤即可。

相关文章

  • zxing-cpp交叉编译静态与动态库

    https://github.com/glassechidna/zxing-cpp 交叉编译工具链为arm-ope...

  • NDK(四):交叉编译

    上一篇文章中,详细介绍gcc的编译流程,以及静态库和动态库的区别。接下来,就介绍什么是交叉编译,怎样进行交叉编译,...

  • 静态库与动态库区别

    本文动态库、静态库区别部分转载自C++静态库与动态库 程序的编译过程如上图 静态库: 之所以成为【静态库】,是因为...

  • 在Linux下交叉编译生成iOS工具链的指导手册

    1.前言 公司要求在Linux系统上实现交叉编译并动态下发Android和iOS的静态库或者动态库,而其中最为关...

  • 静态库

    静态库 静态库动态库简介 .a 静态库:被编译好的二进制文件 静态库:.a, .framework 动态库: .d...

  • 将ffmpeg集成到Android工程中

    准备工具 Android开发工具AS(需要下载NDK) ffmpeg交叉编译后的动态库或静态库以及头文件如果你不知...

  • Embedded Binaries 和 Linked Frame

    1:iOS 动态库与静态库的区别(framework,.a,.dylib) 一点通俗的理解: 1)静态库:编译期间...

  • iOS静态库和动态库的区别

    iOS开发中静态库和动态库区别: 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程...

  • iOS静态库和动态库的使用

    iOS开发中静态库和动态库区别 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序...

  • iOS开发-动态库加载(实时模块更新)

    动态库和静态库 静态库和动态库是相对编译期和运行期:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要改...

网友评论

      本文标题:zxing-cpp交叉编译静态与动态库

      本文链接:https://www.haomeiwen.com/subject/ajhgdhtx.html