cmake基础知识的学习
Linux下vim编辑器使用、gcc的使用、Makefile的基本概念与语法:
https://www.bilibili.com/video/BV1vE411h7Fi?share_source=copy_web
cmake基础:
https://www.bilibili.com/video/BV16V411k7eF?p=5&share_source=copy_web
cmake语法及示例:
(16条消息) cmake使用示例与整理总结_heyjude0919的博客-CSDN博客_cmake使用示例与整理总结
动态库与静态库的区别:
(16条消息) 动态库和静态库的区别_Hit_By_Apple的博客-CSDN博客
cmake生成链接库与使用链接库:
(16条消息) cmake:生成动态链接库并使用_OceanStar的学习笔记的博客-CSDN博客_cmake生成动态链接库
vscode下使用cmake:
(16条消息) vscode CMake 编译C++项目 ubuntu20.04 环境下操作 保姆级教程_一本心書的博客-CSDN博客
一、cmake在终端直接运行cpp
可执行文件:
生成可执行文件:
ADD_EXECUTABLE([output name] [codepath])
AUX_SOURCE_DIRECTORY(./ [variable name]) //包含目录下所有源文件
使用时带上${variable name} 用SET()也是一样的
可执行文件路径:
SET(EXECUTABLE_OUTPUT_PATH[output path])
链接别人的库(动态库(.so)、静态库(.a)):
动态库与静态库概念:
静态库与动态库的区别:
静态库在链接重定位文件为可执行文件时,会提取静态库中相关的二进制代码与重定位文件链接,动态库在链接重定位文件时,只添加了一些重定位和符号表信息,在运行时链接库。静态库在链接后,如果没有静态库,依然可以运行可执行文件,动态库在链接后,如果没有动态库,可执行文件不能运行。
链接库:
包含头文件路径:
INCLUDE_DIRECTORIES()
包含链接库路径:
LINK_DIRECTORIES()
链接库:
TARGET_LINK_LIBRARIES([executablefile name] 链接库文件名)
生成静态库与动态库:
链接库生成路径:
SET(LIBRARY_OUTPUT_PATH[output path])
生成链接库:
ADD_LIBRARY([lib name] [STAIC/SHARED] [source files])
顶层CmakeLists.txt:
CMAKE_MINIMUM_REQUIRED(VERSION [版本号])
PROJECT(project name)
ADD_SUBDIRECTORY([source file path])
二、vscode配置cmake
准备工作:
安装cmaketools插件
运行与debug:
写好CMakeLists.txt、cpp文件
Ctrl+shift+p调出命令行,输入cmake:configure,配置
点击最下行build或命令行输入cmake:build来构建Makefile与可执行文件
点击小三角运行,也可设置断点并点击小蜘蛛调试(debug)
也可以用launch.json、tasks.json、c_c++_properties.json来自定义调试(debug)