cmake生成可执行文件、库的链接以及vscode下的编译

本文介绍了cmake的基础知识,包括Linux下的vim编辑器和gcc的使用,以及Makefile的基本概念和语法。接着详细讲解了cmake的使用,动态库与静态库的区别,如何在cmake中生成和使用链接库。此外,还提供了在VSCode下配置cmake的步骤,包括安装cmake工具、编写和构建项目的过程。
摘要由CSDN通过智能技术生成

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

  1. 可执行文件:

生成可执行文件:

ADD_EXECUTABLE([output name] [codepath])

AUX_SOURCE_DIRECTORY(./ [variable name]) //包含目录下所有源文件

使用时带上${variable name} 用SET()也是一样的

可执行文件路径:

SET(EXECUTABLE_OUTPUT_PATH[output path])

  1. 链接别人的库(动态库(.so)、静态库(.a)):

动态库与静态库概念:

静态库与动态库的区别:

静态库在链接重定位文件为可执行文件时,会提取静态库中相关的二进制代码与重定位文件链接,动态库在链接重定位文件时,只添加了一些重定位和符号表信息,在运行时链接库。静态库在链接后,如果没有静态库,依然可以运行可执行文件,动态库在链接后,如果没有动态库,可执行文件不能运行。

链接库:

包含头文件路径:

INCLUDE_DIRECTORIES()

包含链接库路径:

LINK_DIRECTORIES()

链接库:

TARGET_LINK_LIBRARIES([executablefile name] 链接库文件名)

  1. 生成静态库与动态库:

链接库生成路径:

SET(LIBRARY_OUTPUT_PATH[output path])

生成链接库:

ADD_LIBRARY([lib name] [STAIC/SHARED] [source files])

  1. 顶层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)

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值