CMake.txt文件说明

1、在Linux系统中的静态库与动态库

    库以二进制文件的形式保存, 后缀是.a的是静态库,后缀是.so的是动态库。

      静态库在打包成lib.a文件的时候,把代码都加载到内存中;动态库在打包成lib.so文件的时候,是打包成两个.so文件,目标lib.so文件存放的是函数的索引,

  另一个so存放的是函数的实现。

      在CMake.txt文件中,SHARE是指定生成动态库,STATIC是指定生成静态库。如果两个关键字都不加,默认是STATIC。

 2、target_link_libraries()

      C语言代码在执行前有两个步骤,编译和链接。要在Linux环境下将C文件编译成.so文件,然后把.so文件链接到Android项目中。Android项目链接使用到的代码为target_link_libraries()。

#添加这段代码才能导入头文件
include_directories(libs/include)
#添加这段代码才能使用avcodec-56.so文件中的方法
set(DIR ../../../../libs)
add_library(avcodec-56
            SHARED
            IMPORTED)
set_target_properties(avcodec-56
                      PROPERTIES IMPORTED_LOCATION
                      ${DIR}/armeabi/libavcodec-56.so)
target_link_libraries(native-lib
                      avcodec-56                    
                      ${log-lib} )


      使用系统的.so文件中的头文件和C代码,比如要使用libOpenSLES.so,那么要讲OpenSLES加入到target_link_libraries()中


Tips:在APK中生成几个.so是在以下路径下查看:app->build->outputs->apk->app-debug.apk(双击打开文件)->lib


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CMake是一种跨平台的构建工具,其主要作用是自动生成Makefiles或Visual Studio项目文件,可以方便地管理和构建代码。本文主要介绍CMake的应用实践。 首先,我们需要编写CMakeLists.txt文件来描述项目的结构和依赖情况。CMakeLists.txt一般包含项目名称、源文件、头文件、库文件等信息,并可以通过add_executable或add_library等命令来生成可执行文件或库文件。 其次,我们可以使用cmake命令来生成Makefiles或Visual Studio项目文件。在命令行中输入cmake后,后面跟上项目路径,即可生成对应的构建文件。此时我们可以通过make(或nmake)命令来编译和链接代码,生成可执行文件或库文件。 在实践中,我们还可以使用一些CMake高级特性来优化代码的构建。例如可以使用find_package命令来查找外部依赖库,使用target_include_directories命令来指定头文件路径,使用target_link_libraries命令来链接外部库。 总之,CMake作为一种跨平台、灵活易用的构建工具,在实践中有着广泛的应用。通过熟练掌握CMake的使用方法,我们可以更加高效地管理和构建代码,提高开发效率和代码质量。 ### 回答2: cmake是一个跨平台的自动化构建工具,可以自动生成各种编译配置文件,使得开发者可以同时在不同操作系统和编译器上构建他们的软件。《cmake实践.pdf》是一本关于使用cmake构建和管理大型C++项目的指南书籍。 本书主要介绍了使用cmake构建C++项目的基础知识和实践技巧。首先,本书通过介绍cmake的基本概念和语法,使读者能够了解并掌握cmake构建项目的基本流程。其次,本书介绍了如何在实际项目中使用cmake,从项目的目录结构设计、CMakeLists.txt文件编写、模块化设计到模板化编程等多个方面,详细地讲解了如何采用最佳实践构建和管理大型C++项目。 本书的特点是结合大量实例进行说明,同时还涉及了cmake在Linux和Windows操作系统下的实践方法。此外,本书还介绍了如何使用cmake生成Visual Studio和Makefile等常用的编译器配置文件,以及如何通过使用CTest和CDash对项目进行测试和管理等内容。 总之,《cmake实践.pdf》是一本非常实用的C++项目构建指南,它不仅介绍了cmake的基本原理和使用方法,更重要的是通过大量实例的演示,向读者展示了如何在实际项目中使用cmake构建、管理和测试大型C++项目,对于需要开发C++项目的需求方、开发者以及系统管理员等人员而言,这本书是一本必备的参考书。 ### 回答3: 《cmake 实践》是一本关于CMake的实践性教材,通过介绍实际项目中的CMake代码,帮助读者更好地理解和使用CMake构建自己的项目。 该书主要分为三个部分: 第一部分介绍了CMake的基本语法及其常用的配置命令,通过一个例子讲述了如何使用CMake生成可执行文件和静态/动态库。 第二部分重点讲述了如何使用CMake对多个源代码文件和多个目录文件进行管理,通过介绍多重源代码文件、交叉编译和自定义模块等内容,帮助读者更好地掌握CMake的高级用法。 第三部分则介绍了如何使用CMake和其他工具(如ctest和CPack)对项目进行测试和打包。它详细介绍了CTest框架和如何使用CTest对测试用例进行管理,同时还介绍了CPack包装器和如何使用它来构建不同的包类型。 总的来说,《cmake 实践》是一本非常实用的CMake教材,它从实践角度出发,为读者提供了大量可操作的代码示例和实践指南,不仅介绍了CMake的基础知识,还为读者打开了CMake高级用法和与其他工具的接口,是一个不可多得的CMake学习资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值