RK3568 cmake编译

一.简介

CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用,无需修改,非常方便。

二.Cmake安装命令

sudo apt install cmake
cmake -version

三.Cmake编译

一般把CMakeLists.txt文件放在工程目录下,使用时,先创建一个叫build的文件夹(这个并非必须,因为cmake命令指向CMakeLists.txt所在的目录,例如cmake . ., 表示CMakeLists.txt在当前目录的上一级目录。cmake后会生成很多编译的中间文件以及makefile文件,所以一般建议新建一个新的目录,专门用来编译),然后执行下列操作:

cd build
cmake . .
make

其中cmake . . 在build里生成Makefile,make根据生成makefile文件,编译程序,make应当在有Makefile的目录下,根据Makefile生成可执行程序或共享库。

四.动态库和静态库的编译控制

src目录下的CMakeLists.txt:

# 寻找该目录下所有的源代码文件并将列表存储在SRC_LIST中
aux_source_directory(. SRC_LIST)

# 指定库文件输出的存放路径
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)

# 生成静态库文件
add_library(swap_lib STATIC ${SRC_LIST})

项目主目录的CMakeLists.txt:

# 指定CMake的最小版本要求
cmake_minimum_required(VERSION 3.0)

# 定义工程名称
project(SWAP)

# 设置编译参数
add_compile_options(-Wall -std=c++11)

# 添加头文件搜索路径
include_directories(include)

# 添加src子目录
add_subdirectory(src)

# 指定可执行文件输出的存放路径
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)

# 生成可执行文件
add_executable(swap_cmake main.cpp)

# 为可执行文件添加需要链接的库文件
target_link_libraries(swap_cmake swap_lib)

你可能感兴趣的:(RK3568,c++,开发语言)