1. 原理CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库。交叉编译,是利用交叉编译工具链,在宿主机器执行编译、链接生成目标机(嵌入式arm)运行的程序或者共享库2. 测试环境            
                
         
            
            
            
             本文描述在Win10-64位系统中安装CMake、cmake-gui的简单使用及其与VS2015编译器的结合使用,以及cmake命令行与nmake的结合使用。下载从CMake官网上下载最新版本的安装包,本文中下载的是 cmake-3.10.1-win64-x64.msi。若不想安装,可直接下载压缩包版本cmake-3.10.1-win64-x64.zip。安装CMake的安装            
                
         
            
            
            
            CMake允许开发者编写一种平台无关的CMakeList.txt文件来定制整个编译流程,再根据目标用户的平台进一步生成所需的本地化Makefile和工程文件,如Linux/Unix的Makefile或者Windows的VisualStudio工程等。
在Linux平台下使用cmake生成Makefile并编译的流程,如下:
1、 编写CMake配置文件CMakeLists.txt。
2、 执行命令            
                
         
            
            
            
            # Android NDK CMake编译SO文件教程
## 简介
在Android开发中,有时候需要使用C/C++来进行底层开发或者性能优化。NDK(Native Development Kit)提供了一种使用原生代码(C/C++)开发Android应用的方法。而CMake是一个跨平台的构建工具,它可以用简单的语法来描述构建过程,生成与平台无关的构建文件。
本文将教会你如何使用Android            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-16 14:39:10
                            
                                436阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            从上篇文章中,大家按操作勾选了support C++后,应该可以发现,项目中会多了个cpp文件夹,里面有.cpp文件,还有个CMakeLists.txt,这个CMakeLists.txt就是cmake编译的配置文件,所以我们这就说一下怎样配置CMakeLists,和怎样用另外的这一种方法生成所要的so库。 
  
  首先,我们在StringJni.java中再声明一个native方法get            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-03 07:03:43
                            
                                101阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            简介CMake是一个跨平台的编译自动配置工具,它使用一个名为CMakeLists.txt的文件来描述构建过程,可以产生标准的构建文件。它可以用简单的语句来描述所有平台的安装(编译过程)。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。CMake并不直接建构出最终的软件,而是产生标准的建构档(如Unix的Makefile或            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-03 07:19:22
                            
                                131阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、CMake简介 Make是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-19 21:04:41
                            
                                188阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            项目编写 ROS 节点还需要配置构建规则,CMakeList.txt 文件就是用来指定如何编译当前节点,里面包含一些编译指令,今天就来学习下常用的配置。不需要把 CMakeList 全部的内容都学会,先把基础的搞定,后面用到再学即可。一、CMakeList 的作用ROS 项目使用 CMake 来构建的,为了方便一次性构建,所以用一个 CMakeList.txt 文件作为 CMake 系统的输入,通            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-12 15:24:00
                            
                                130阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录CMakeLists的编译CMakeLists编译原理**文件路径:****编写CMakeLists.txt**CMakeLists常用命令CmkeLists的基本步骤1.1 CMake版本1.2 软件包名称1.3 查找相关的CMake包1.4 设置配置环境1.5 **指定头文件目录**1.6 可执行目标Qt CMakeLists使用案例 CMakeLists的编译CMakeLists编            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-09 17:09:36
                            
                                587阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            android编译系统的makefile文件Android.mk写法如下
(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下
Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:
LOCAL_PATH:=$(call my-dir)
上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。
(2)Andro            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-29 18:08:28
                            
                                245阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑。因为很多开源的程序,比如png,都是自带编译脚本的。我们可以使用下列脚本来进行编译: ./configure  --prefix=/xxx/xx --enable-          static          =          YES         
          make            
                
         
            
            
            
            目录简介安装使用CMake构建软件包CMake的基本语法1.PROJECT关键字2.SET关键字3.MESSAGE关键字4.ADD_EXECUTABLE关键字5.ADD_SUBDIRECTORY关键字6.ADD_LIBRARY关键字7.INSTALL关键字8.TARGET_LINK_LIBRARIES关键字9.CMake中的变量简单示例1.CMake构建静态库和动态库本节内容的学习:基本掌握CMa            
                
         
            
            
            
            1.CMake编译原理CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。因此CMake的编译基本就两个步骤:1. cmake
2. mak            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-09 22:26:00
                            
                                233阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前面文章介绍了C++编译过程:预处理、编译、汇编、链接,内容比较简单,只要会使用命令行,就能根据文章的内容实践操作,直观的了解编译全过程。一个项目往往不只一两个cpp文件,此时命令行编译的方式就会显得捉襟见肘。然而在实际项目中,有序构建并不需要开发人员投入太多精力,这就必须要用到编译脚本,了解一两个常用命令,就可以搞定这个复杂的过程。如果要说什么是C++开发中可以真正做到一劳永逸的事情,那就是编译            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-18 18:43:19
                            
                                452阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Note:这篇文章是基于Android Studio 3.01版本的,NDK是R16。step1:创建一个包含C++的项目其他默认就可以了。C++ Standard
指定编译库的环境,其中Toolchain Default使用的是默认的CMake环境;C++ 11也就是C++环境。两种环境都可以编库,至于区别,后续会跟进,当前博文使用的是CMake环境。
Exceptions Support
如果            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-29 15:36:48
                            
                                492阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、前期基础知识储备①首先 利用AS创建含原生代码的项目时,它本身都编译不过,是的编译不过,报的错就是下面这个。报错:CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-09 19:40:50
                            
                                177阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本文实现了用cmake编译出so库,本人小白,如有错误,还请各位大佬指出,不胜感激。效果如下: 实验环境:AS:3.3.1(有代码补全功能)环境配置NDK:不管使用ndk-build编还是cmake编,都要勾选 CMake:使用CMake编 LLDB:在AS上调试C代码,勾选创建工程选择native c开发(3.3.1),低版本是勾选上include c++ 文件即可,创建完如下 说明:3.3.1            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-01 16:26:22
                            
                                523阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1,Ubuntu安装了cmake之后,直接输入指令查看版本。cmake -version我这里的版本为3.16.32,使用visual studio里面创建一个CMake项目是最快可以看到的。但是一般无法理解。所以我找了网上资料。根据网上所说和自己再试错下。初步了解了cmake的一些操作。3,最外层CMakeLists.txt编写。这个编写主要是按照我当前的文件结构进行编写的,后面其他不同的结构需            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-02 14:40:30
                            
                                42阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Android SO太大的原因及解决方案
## 1. 问题描述
在Android开发中,我们经常会遇到的一个问题就是Android SO文件太大,导致应用包体积过大,安装包下载时间过长,甚至可能会影响应用的性能和用户体验。那么Android SO文件为什么会太大呢?如何解决这个问题呢?
## 2. 原因分析
Android SO文件是共享库文件,用于存储Android应用程序中使用的共            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-26 06:28:40
                            
                                710阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             一 文件树  ├── CMakeLists.txt
├── include
│   └── static
│       └── Hello.h
└── src
    ├── Hello.cpp
    └── main.cpp  1.1 Hello.h  /*声明了Hello类,Hello的方法是print(),*/
#ifndef __HELLO_H__
#define __H