CMake基础篇(六)——常用函数
CMake基础篇(六)——常用函数前言: 本篇文章介绍CMake常用函数。 1 find_package&esmp; find_package是CMake中一个非常重要的命令,它的主要功能是在系统上查找外部项目或库,并将这些项目的配置信息集成到当前项目的构建过程中。这个命令使得CMake能够支持各种第三方库和工具链,简化了跨平台构建的复杂性。以下是find_package的一些关键功能和用法说明: 查找库或项目:find_package负责搜索指定的库或项目,并设置一系列变量来描述找到的库或项目的路径、编译选项等。这些信息随后可用于链接库、包含头文件路径等。 配置组件:许多现代库(如Qt5、Boost等)都是模块化的,find_package允许你指定需要哪些组件(如前所述的COMPONENTS...
CMake基础篇(五)——宏
CMake基础篇(五)——宏前言: 本篇文章帮助你快速熟悉CMake宏的使用。 1 用法 CMake的宏原理和c/c++相同,本质都是替换。以下代码说明了宏的参数是字符串替换的特点。 12345678910111213141516171819202122232425project(ProjectName)macro(PrintAndModifyMacro var) message(STATUS "Macro before: var = ${var}") set(var "Modified by Macro") message(STATUS "Macro after: var = ${var}")endmacro()function(PrintAndModifyFunction var) message(STATUS "Function before: var =...
CMake基础篇(四)——函数
CMake基础篇(四)——函数前言: 本篇文章帮助你快速熟悉CMake函数的使用。 1 定义函数 CMake支持函数定义,CMake的变量是区分大小写的,包括函数的传入参数,但函数名不区分大小写。 以下定义了一个名为 FunName 的函数。 12345678910project(ProjectName)function(FunName Param0 Param1) message(STATUS "${Param0}") message(STATUS "${Param1}") # message(STATUS "${param1}") # Error.endfunction()FunName(5 10)funname(1 2) 执行结果为。 12345╰─ cmake ..-- 5-- 10-- 1-- 2 也可以通过...
CMake基础篇(三)——变量
CMake基础篇(三)——变量前言: 本篇文章帮助你快速熟悉CMake变量的使用。 1 介绍 Cmake定义变量有显示和隐式两种。显示为使用 set 函数定义的变量,隐式是CMake自动创建的变量。CMake新增变量不需要提前有个变量定义操作,直接使用即自动完成变量定义。 更详细的变量信息查询可以访问 官网对CMake变量的说明 。 2 隐式变量 比如以下代码, project(ProjectName) 函数定义了该项目的名称为 ProjectName ,同时CMake会隐式的定义 ProjectName_SOURCE_DIR 和 ProjectName_BINARY_DIR 两个变量。 123project(ProjectName)message(STATUS "${ProjectName_SOURCE_DIR}")message(STATUS "${ProjectName_BINARY_DIR}") 3...
CMake基础篇(二)——构建并编译简单Demo
CMake基础篇(二)——构建并编译简单Demo前言: 本篇举例一个最简单的CMake构建的工程,帮助快速熟悉CMake。 1 CMake简介 CMake是一种跨平台的编译工具,它语法简单,可以输出各种各样的makefile或project文件。CMake用于产生标准的构建档,使得开发者可以在不同的平台用标准的方式构建软件,实现一次编写编译规则,多个平台相同编译。 2 编写CMakeLists CMake的代码是写在CMakeLists文件中,通过执行 cmake 指令生成 Makefile 文件,接着在执行 make 指令编译生成目标文件。以下用一个最简化的Demo做一个演示,跑一遍构建、编译到运行的过程。 目录结构如下。 123.├── CMakeLists.txt└── main.c main.c 123456#include <stdio.h>void main(void){ printf("Hello...
自娱自乐,我的博客(十七)——腾讯云SSL证书申请
自娱自乐,我的博客(十七)——腾讯云SSL证书申请前言: 在腾讯云上可以免费申请SSL证书,本篇文章介绍如何申请并配置SSL证书。 1 介绍 SSL证书(Secure Sockets Layer,现在通常指TLS证书,即Transport Layer Security)的主要作用是为网站提供安全的数据传输服务。主要包含以下几个用途。 数据加密。 身份识别。 防止中间人攻击。 HTTPS标识。 建立信任。 在腾讯云使用个人域名,必须要要绑定证书。通常证书有效期是一年,到期后需要重新申请新的证书并绑定。 2 证书申请 登录腾讯云 SSL证书申请 界面。提交证书申请,填写要绑定的个人域名。 要成功绑定域名,还需要添加一条域名解析记录,我是在阿里云购买的域名,因此我在阿里云的域名配置中添加以下记录。 后在腾讯云点击 验证域名 观察验证是否通过。 证书申请成功后会显示 已签发 。 3 绑定域名3.1...
自娱自乐,我的博客(十六)——博客托管到腾讯云
自娱自乐,我的博客(十六)——博客托管到腾讯云前言: 早些搞博客的时候比较穷,白嫖博客托管,用过github,由于网速太慢切到gitee,又由于不支持私有域名换到Coding,后Coding开始收费又换到Vercel,这个网站有段时间被墙了后再次换回Coding体验几个月免费,现在免费期也到了。腾讯将静态网站托管功能从Coding移到腾讯云了,免费固然好但经常被迫搬家,要花时间折腾,现在人到中年钱有一点,更缺的是时间,因此在腾讯云正式成为付费用户。 1 腾讯云静态网站托管1.1 开通静态网站托管服务 在 腾讯云官网 搜索 网站托管 ,点击 静态网站托管 。注意,静态网站托管是包月的,不是按流量收费。 首次使用需要点击 免费开通云开发 将服务打开。 点击 同意授权...
自娱自乐,我的博客(十五)——域名ICP备案
自娱自乐,我的博客(十五)——域名ICP备案前言: 一些博客爱好者有给给自己的博客网站使用私有域名的想法,本篇文章介绍如何进行域名备案。 1 介绍 为了打击非法网站,打击不良互联网信息的传播,根据国家规定,网站域名需要备案。若从事非法活动则网站将被查处或关停。换句话说,没有备案的网站是不允许经营的,即使不从事商业活动。 2 域名备案 域名备案可以在线上进行,目前可以选择在阿里云或腾讯云进行线上备案申请。申请域名备案并不要求域名是在该平台购买的,比如我的域名是在阿里云买的,但我在腾讯云申请域名备案。 登录 腾讯云官网 ,点击 备案 即可进行线上备案申请。 填写要备案的域名,比如我的域名是 onlycalm.cn ,注意不带 www 。 添加域名后点击 新增备案 开始填写域名备案信息。 填写域名申请备案信息。重点是 备案授权码...
Ubuntu20.04安装qq音乐
Ubuntu20.04安装qq音乐前言: Ubuntu上使用qq音乐。 1 安装qq音乐 在 官网 下载linux版本的qq音乐。 2 解决闪退问题 安装完成后启动会立刻闪退,不能使用。 2.1 命令行启动 可以在命令行启动qq音乐,但该命令行不能关闭,关闭后qq音乐也会被关闭。 1qqmusic --no-sandbox 2.2 桌面快捷方式启动 编辑文件 /usr/share/applications/qqmusic.desktop 。 123456789[Desktop Entry]Name=qqmusicExec=/opt/qqmusic/qqmusic %UTerminal=falseType=ApplicationIcon=qqmusicStartupWMClass=qqmusicComment=Tencent...
Vim基础篇(二十八)——终端插件vim-floaterm
Vim基础篇(二十八)——终端插件vim-floaterm前言: 在日常开发中,我们经常需要在 Vim 编辑器和终端之间来回切换,执行命令、运行程序或查看输出。频繁切换窗口会打断工作流,降低效率。幸运的是,现代 Vim(尤其是 Neovim)支持内置终端,结合插件如 vim-floaterm,可以让我们在浮动窗口中便捷地使用终端,无缝集成到编辑环境中。 1 Vim使用终端的方式1.1 暂停Vim 在Vim界面,按下 ctrl z 会暂停当前的vim,回到Terminal界面,可以在terminal中执行命令,需要回到Vim则在Terminal中输入 fg 即可,Vim会保持退出前的状态。 1.2 内嵌终端 Vim已集成了Terminal,在Vim中执行指令 :term 会自动分割一个Terminal窗口,在其中执行指令,需要退出终端窗口,在终端中执行 exit 。以分割窗口执行终端的好处是,对窗口的操作都适用。 1.3...












