美文网首页
cmake配置

cmake配置

作者: 贝克街的猫大哥呀 | 来源:发表于2018-07-01 00:33 被阅读0次

首先我们将ffmpeg所有头文件都导入项目。

头文件全位于include中。那具体的实现类呢,在LIBS中:

那么如何将这些目录是怎么项目关联起来呢,就是在CMAKE中配置:

这里话就是让项目明白,你导入的头文件位于include文件夹中。

因此,在CPP中导入其它的头文件,才不会报错,如:

这里是生成项目时就生成的CPP文件。在此类中导入其它头文件,就会自动从include这个文件夹中去找到 libavcodec这个文件里的头文件。

继续回到CMAKE,这里重点讲下CMAKE的配置:

这里没什么好说的,生成CMAKE时就自动会有此代码,这里旨在将 native-lib 这个类生成一个动态库存。 native-lib直接与JAVA交互。

但实际上,native-lib中,还会引用到其它库,如这里的ffmpeg,该如何配呢。那就是再写一个add_library:

这里是先set了一个FF变量,将路径进行了一个确定。下面的两句是固定写法,先命名了一个库,就是avcodec,这里可以取任意名字,第三行是将这个名字和具体的动态库路径关联起来。

还有一个点,就是 {ANDROID_ABI}  ,这个变量是哪里来的呢,这里是build配置中定义的,如:

在build中的配置,一般只需要自己加上这个Filters就行了,其它的都会自动生成。

再讲回CMAKE,我们已经导入了需要的动态库avcodec,那么怎么将这个库和我们直接交互的cpp关联起来呢:

就要用到target-link_libraries这个语句,第一行 native-lib是我们直接交互的库,第二行开始,如这里的avcodec,就是将其打包进native-lib生成的动态库中! 这样就进行一个动态库的合并!

也就是说,我们配置CMAKE的目的,就是最终会生成一个native_lib的动态库,这个动态库里就包括了avocec这个动态库,也就是说,当生成后,我们就可以去掉CMAKE这个编译环节,免得每次RUN的时候都要重新编译这个动态库浪费时间!

相关文章

  • cmake Ubuntu 环境下安装

    安装 在cmake官网下载cmake:https://cmake.org/download/ 解压 配置环境变量 ...

  • 使用clang编写XCode代码检测插件

    一、项目配置 下载llvm源码 安装CMake2.1 配置CMAKE2.2 Loadable modules和Cl...

  • 配置Windows开发机环境

    配置CLion 下载 配置CMake 配置编译器MinGW

  • CMake 构建项目教程

    Cmake介绍 CMake意为cross-platform make,可用于管理c/c++工程。CMake解析配置...

  • cmake常用配置

    cmake常用配置(oepncv, boost)

  • Android Studio Cmake配置

    CMake配置 ​ 在android studio 2.2及以上,构建原生库的默认工具是 CMake。 ​ ...

  • cmake配置

    首先我们将ffmpeg所有头文件都导入项目。 头文件全位于include中。那具体的实现类呢,在LIBS中: 那么...

  • CMake配置

    CMake ​ 在android studio 2.2及以上,构建原生库的默认工具是 CMake。 ​ CMake...

  • Cmake配置

    它是一个纯文本文件,并包含构建c/c++使用的命令,配置命令指示创建原生库使用那些源代码,在配置新的 CMake ...

  • cmake用法

    示例源码在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下: 编写 CMake 配置...

网友评论

      本文标题:cmake配置

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