一个最基本的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.txt
、Makefile
、cmake_install.cmake
和一个文件夹CmakeFiles
,然后执行
make
即可生成可执行程序Tutorial
。在ubuntu或者centos上可能会提示找不到math.h
文件,这时候我们需要在cmakeLists.txt文件中最后添加
target_link_libraries(Tutorial apue.a)
然后重新编译即可。需要删除刚才生成的额外的文件。
添加版本号
下面讲解如何为程序添加版本号和带有使用版本号的头文件。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
文末
不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~
小编将自己6年以来的面试经验和学习笔记都整理成了一个**937页的PDF,**以及我学习进阶过程中看过的一些优质视频教程。**上传在我的GitHub中:Android架构视频+BATJ面试专题PDF+学习笔记**请君自取,无偿分享!
ATJ面试专题PDF+学习笔记](https://bbs.csdn.net/topics/618156601)**请君自取,无偿分享!
[外链图片转存中…(img-tfgTB2Qu-1711385652986)]
其实看到身边很多朋友抱怨自己的工资很低,包括笔者也是一样的,其原因是在面试过程中没有给面试官一个很好的答案。所以笔者会持续更新面试过程中遇到的问题,也希望大家和笔者一起进步,一起学习。