视频教程康康这个Bilibili点击跳转,由于本文信息密度大,比较详细,可能略显繁琐,还请耐心阅读🐱
CMakeList 语法精述
PROJECT 工程名
SET 设置变量
MESSAGE 打印信息
- 向终端输出用户自定义的信息
- 包含三种信息
SEND_ERROR产生错误生成过程被跳过 SATUS生成前缀为- -的信息 FATAL_ERROR立即终止所有cmake过程
ADD_EXECUTABLE 生成可执行文件
ADD_SUBDIRECTORY 添加子目录
ADD_LIBARY 输出库
SET_TARGET_PROPERTIES
INCLUDE_DIRECTORIES 添加头文件路径
LINK_DIRECTORIES 添加库搜索路径
LINK_DIRECTORIES(path/lib/)
TARGET_LINK_LIBRARIES 添加库名称
TARGET_LINK_LIBRARIES(project_name libname.so)
内部构造和外部构造(更改cmake的生成目录)
CMakeList.txt添加子关联CMakeList.txt,更好的进行工程组织
Demo
- 看了这么多来一个具体并且较大的工程练练手吧
- 以正点原子STM32F767 Apllo开发板的GPIO为模板开始Demo
-
- 新建CMakeLists.txt和build目录
 - 添加cmsis_gcc.h文件,是用gcc编译所需的头文件,一些宏也需要添加
经验记录
windows cmake没有生成 Makefile
参考
CMake 语法 - 详解 CMakeLists.txt FILE的使用我是从这里找的 error: expected ‘(’ before ‘void’ __ASM void xxx gcc 编译正点原子的sys.c报错
|