cmake使用教程(一)-起步,Android彻底组件化方案实践方法

一个最基本的CmakeLists.txt文件最少需要包含以下三行:

cmake_minimum_required (VERSION 2.6)
project (Tutorial)
add_executable(Tutorial tutorial.cxx)

注意:cmake的语法支持大小、小写和大小写混合上边的代码中我们使用的cmake语法是小写的.

cmake_minimum_required
CMAKE_MINIMUM_REQUIRED
cmake_MINUMUM_required

上面三种写法是相同的,注意,只有系统指令是不区分大小写的,但是变量和字符串是区分大小写的。

创建一个tutorial.cxx文件,用来计算一个数字的平方根,内容如下:

// A simple program that computes the square root of a number
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (int argc, char *argv[])
{
if (argc < 2)
{
fprintf(stdout,“Usage: %s number\n”,argv[0]);
return 1;
}
double inputValue = atof(argv[1]);
double outputValue = sqrt(inputValue);
fprintf(stdout,“The square root of %g is %g\n”,
inputValue, outputValue);
return 0;
}

这样就完成一个最简单的cmake程序。

构建程序

用cmake来编译这段代码,进入命令行执行内部构建命令(后边会讲外部构建):

cmake .

这是输出一系列的log信息

– The C compiler identification is AppleClang 9.0.0.9000039
– The CXX compiler identification is AppleClang 9.0.0.9000039
– Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
– Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Detecting C compile features
– Detecting C compile features - done
– Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
– Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring done
– Generating done
– Build files have been written to: /Users/saka/Desktop/Tutorial/Step1

同时生成了三个文件CMakeCache.txtMakefilecmake_install.cmake和一个文件夹CmakeFiles,然后执行

make

即可生成可执行程序Tutorial。在ubuntu或者centos上可能会提示找不到math.h文件,这时候我们需要在cmakeLists.txt文件中最后添加

target_link_libraries(Tutorial apue.a)

然后重新编译即可。需要删除刚才生成的额外的文件。

添加版本号

下面讲解如何为程序添加版本号和带有使用版本号的头文件。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

文末

不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~

小编将自己6年以来的面试经验和学习笔记都整理成了一个**937页的PDF,**以及我学习进阶过程中看过的一些优质视频教程。**上传在我的GitHub中:Android架构视频+BATJ面试专题PDF+学习笔记**请君自取,无偿分享!

ATJ面试专题PDF+学习笔记](https://bbs.csdn.net/topics/618156601)**请君自取,无偿分享!

[外链图片转存中…(img-tfgTB2Qu-1711385652986)]

其实看到身边很多朋友抱怨自己的工资很低,包括笔者也是一样的,其原因是在面试过程中没有给面试官一个很好的答案。所以笔者会持续更新面试过程中遇到的问题,也希望大家和笔者一起进步,一起学习。

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值