1.开发背景
linux 下编译程序需要用到对应的 Makefile,用于编译应用程序,但是 Makefile 的语法过于繁杂,甚至有些反人类,所以这里引用了cmake,cmake 其中一个主要功能就是用于生成 Makefile,cmake 的语法更友好。
2.开发需求
编写 cmake 编译最基础的应用程序
3.开发环境
ubuntu 20.04
4.实现步骤
4.1 准备源码文件
工程目录
主要包括 main.cpp、func.cpp 和 func.h,当然还是少不了 cmake 的关键脚本 CMakeLists.txt,CMakeLists.txt 主要是用来描述工程结构
cmake_minimum_required(VERSION 2.8.11)
# 编译过程打印信息
message("cmake show message") # 打印信息
#message(SEND_ERROR "Error Show") # 打印错误信息 可以显示当前位置行数
# 定义工程名 暂时未见起作用
project(projectName)
# 指定编译工具 X86 还是 ARM
#SET(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
SET(CMAKE_CXX_COMPILER g++)
# 添加执行文件 1、多次调用 可以生成多个可执行文件
add_executable( main
main.cpp
func.cpp
)
4.2 准备编译脚本
准备编译脚本 build.sh 如下
#!/bin/bash
echo "compile file"
if [ ! -d "./build/" ]; then
# 没有文件夹 创建文件夹
echo "no build direct"
mkdir build
else
# 存在文件夹 删除文件夹内容
echo "already build direct"
rm ./build/* -r
fi
cmake -B build
4.3 执行编译脚本
chmod +x build.sh
./build.sh
如图所示,生成的文件保存在 ./build 文件夹下,其中包括我们需要的 Makefile
4.4 编译程序
执行到这里,我们可以进入 build 文件夹下执行熟悉的 make 操作了
cd build && make
至此,大功告成