Cmake入门学习

1 篇文章 0 订阅
1 篇文章 0 订阅

之前在Linux下写的C/C++代码基本都是单源文件的,所以编译的时候只要执行如下代码就可以执行编译或者交叉编译

gcc -o app test.c                //编译
arm-linux-gcc -o app test.c      //交叉编译

但是总不能一直都把代码放在一个源文件下吧,不仅不美观,可读性也不好,所以模块化编程是很有必要的,在Windows下有很多的集成IDE,写好代码点下Build就好了,当然Linux下也是有的,但是没有用命令行编译装13啊,所以写Makefile是很有必要的,但是Makefile太难学了,然后就考虑用其他工具生成Makefile ,我知道的有CMake和QMake。今天下暴雨,所以就学习了下CMake,我使用的系统是Ubuntu 16.04LTS,然后应该是默认安装了cmake工具的可以使用以下命令查看cmake的版本

cmake --version     //查看版本号

cmake version 3.5.1 //返回的版本号

然后就可以写点小代码测试下了,先新建文件夹,在src下存放源文件 include下存放头文件 build下进行编译

mkdir test                    #新建工程文件夹
cd test                       #进入工程文件夹
mkidr src include build       #新建 源文件头文件 编译 文件夹
touch CMakelists.txt          #新建CMakelists.txt 文件夹

使用tree命令可以查看工程文件结构,我的工程文件结构如下:

tree             //查看文件树
tree -L n        //查看指定层的文件树


lszl@lszl:~/serial/c++/test$ tree -L 2
.
├── build
│   ├── CMakeCache.txt
│   ├── CMakeFiles
│   ├── cmake_install.cmake
│   ├── Makefile
│   └── test
├── CMakeLists.txt
├── include
│   └── display.h
└── src
    ├── display.cpp
    └── main.cpp

工程文件下需要自己编写的文件只有如下4个:main.cpp  dispaly.cpp  dispaly.h  CMakelists.txt直接贴出CMakelists.txt的代码

#指定cmake的最低版本
cmake_minimum_required(VERSION 2.8)

#指定项目名称
project(test)

#指定头文件搜索路径
include_directories(include)

#查找指定目录下的所有源文件
aux_source_directory(src DIR_SRC)

#指定编译器
set(CMAKE_GENERATOR g++)

#编译可执行程序 指定编译 test即最终生成的可执行文件名称
add_executable(test ${DIR_SRC})

然后display.cpp 和 display.h 是很简单的一个模块的源文件和头文件

 

之后就是进行工程文件编译了具体操作如下:

cd build          //进入build文件夹下
cmake ..          //使用CMake工具生成Makefile
make              //调用Makefile生成可执行文件
ls                //查看文件
./test            //执行可执行文件 test是在CMakelists.txt中设定

这是我今天自己学习做的记录,很基础很基础,不喜勿喷

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值