CMake 使用记录

目录

CMake使用文档 

让cmake支持GDB调试的方法


于CMake官网看详细说明:

CMake - Cross Platform Make
https://cmake.org/cmake/help/v2.8.12/cmake.html#section_Commands

cmake快速入门 - 不忘初心 - CSDN博客
https://blog.csdn.net/kai_zone/article/details/82656964

 

CMake 教程 - 简书
https://www.jianshu.com/p/8df5b2aba316

 

CMake常用命令 - 嗜血苍狼 - 博客园
http://www.cnblogs.com/zhongjiangfeng/p/7478243.html

 

让cmake支持GDB调试的方法

在CmakeLists.txt中加入以下代码即可:(只加-g不行,需要加-g2)

    # Version 2.4 might work, but it won't find static libraries with odd names  
    cmake_minimum_required(VERSION 2.6)  
    SET(CMAKE_BUILD_TYPE "Debug")  
    SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")  
    SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")  

gdb编译选项(gcc/g++ 在编译时加入-g来加入debug信息)

  1. -g0等于不加-g,即不包含任何调试信息
  2. -g1包含最小的调试信息,一般来说只有在你不需要调试信息,之需要backtrack信息,并且很在意程序大小,或者有其他保密/特殊需求是才会使用-g1
  3. -g2为gdb默认,包含绝大多数你需要的调试信息
  4. -g3包含额外的调试信息,例如包含宏定义信息

设置编译选项
set(MCU_FLAGS "-mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4") //启用硬件浮点计算功能
set(CMAKE_C_FLAGS "${MCU_FLAGS} -w -Wno-unknown-pragmas")
set(CMAKE_C_FLAGS_DEBUG "-O0 -g2 -ggdb")
set(CMAKE_C_FLAGS_RELEASE "-O3")

Armv8上不弃不离的NEON/FPU - 简书
https://www.jianshu.com/p/a19cc2ca59da

设置汇编编译:

set(CMAKE_ASM_COMPILER  "arm-hisiv500-linux-gcc")

INCLUDE(CheckLanguage)

check_language(ASM)

enable_language(ASM)

set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS}")

设置了这些选项,在源文件列表添加的*.s汇编文件就可以编译了。

 

Linux下实现飞控开发:使用CMake构建STM32工程 - 王伟韵 - CSDN博客
https://blog.csdn.net/loveuav/article/details/101361408

你可能感兴趣的:(编译链接问题)